曹操赞赏关羽为人,拜其为偏将军,礼遇甚厚。不久却觉察关羽心神不定,无久留之意,曹操闻后,不但没有怨恨关羽,反而认为他有仁有义,更加器重他。
建安五年(200年),官渡之战爆发,二月,冀州牧袁绍调动十多万人马进军黎阳(今河南滑县东北),征伐曹操并派大将颜良进围白马,攻东郡太守刘延,以保障主力渡河南进。刘延告急请援。四月,曹操为解除侧翼威胁,北救刘延。率轻兵袭击白马,颜良大为震惊,仓促迎战。曹操派张辽、关羽为先锋,率部进击。关羽跃马阵前,直冲过去,在万众之中斩杀颜良,取其首级而归,曹操借势指挥大军冲杀,袁军大败溃散,遂解白马之围。
曹操备赞关羽的勇武,对他重加赏赐,封他为汉寿亭侯。关羽斩杀颜良后,曹操知其必去,遂重加赏赐。关羽把曹操屡次给他的赏赐都封存妥当,把汉寿亭侯的印绶挂在堂上,给曹操写了封告辞信,保护着刘备的家小,离开曹营,过五关,斩六将到袁绍军中找刘备。
袁绍兴师南进,派刘备南下汝、颍,攻掠曹操后方,被曹操部将曹仁击溃。刘备逃回袁绍军中,受到猜忌,暗中打算脱离袁绍,于是建议袁绍跟荆州牧刘表结盟,以使曹操腹背受敌。袁绍信以为真,派刘备率领本部人马,再度南下汝南与黄巾军首领龚都等会合,兵力扩充到数千人,对曹操后方又构成威胁。是年七月,曹操为稳定后方,派大将蔡阳率兵讨伐刘备。刘备率部迎战蔡阳。两军激战,蔡阳被关羽斩杀,曹军大败。建安六年(201年)秋,曹操统军进击刘备于汝南。九月,关羽随刘备投靠荆州牧刘表。至此,刘备脱离袁绍,获得发展自己势力的机遇。
从建安六年到十三年(201—208年),刘备在这八年中致力于礼聘人才,扩大军事力量。特别是在建安十二年 (207年),刘备“三顾茅庐”。请出了诸葛亮。
建安十三年(208年),曹操亲率大军南征刘表。刘表死,继任荆州牧的刘琮投降曹操。刘备为避开曹军锋芒,便撤离樊城,向江陵(今湖北江陵)退去,并派关羽率领一万多水军,从水路往江陵会合。刘备军撤退到当阳长阪坡(今湖北当阳东北)时,被兼程追来的曹操骑兵打败,去江陵的道路被曹军截断,刘备只好斜趋汉津。关羽率水军前去接应,保护刘备退到夏口。