建安五年(200年),曹操派劉岱、王忠攻打劉備,卻被劉備擊敗,曹操于是親提大軍出征,劉備敗逃投奔袁紹,關羽戰敗被生擒,被帶到許都,曹操待以厚禮,任命為偏將軍。
陣斬顏良
建安五年(200年),曹操派劉岱、王忠攻打劉備,卻被劉備擊敗,曹操于是親提大軍出征,劉備敗逃投奔袁紹,關羽戰敗被生擒,被帶到許都,曹操待以厚禮,任命為偏將軍。
后來,袁紹派大將郭圖、淳于瓊、顏良攻東郡太守劉延于白馬。荀攸提出了聲東擊西、輕兵掩襲白馬的作戰方略。曹操接受了荀攸的建議,親自率軍救援。顏良大驚,倉促應戰。曹操命張遼與關羽為前鋒擊之(此時的關羽,依然是劉備的臣子)。關羽望見顏良的麾蓋,策馬沖鋒,刺死顏良于萬軍之中,又拔出佩刀斬得顏良的首級,然后返還。袁軍將領無人能擋,白馬之圍被解,關羽被封為漢壽亭侯。
在關羽尚未斬殺顏良之前,曹操非常欣賞關羽的為人,為了知道關羽有沒有久留的心意,叫張遼以私人感情來詢問關羽。關羽對張遼嘆息道:“我知道曹公對我的厚愛,但我受劉備將軍的厚恩,發誓共死,不可背棄。我終不會留下,在為曹公立下功勞后我便會離去。”張遼擔心,自己若是如實匯報,可能會導致曹操殺關羽。于是,張遼嘆息良久,終于意識到曹操是君父,自己是臣子,不能因為自己和關羽的兄弟情誼就放棄職責。最終,張遼向曹操如實匯報了關羽的心意。曹操因此稱贊關羽:“事君不忘其本,天下義士也。”曹操又讓張遼揣度一下關羽何時離開。張遼深知關羽是知恩圖報之人,于是,為關羽擔保:“羽受公恩,必立效報公而后去也。”曹操知道關羽會離去,反而重加賞賜,想要留住他。但后來,關羽為曹軍斬殺了顏良,于是,關羽盡封曹操的賞賜,留書告辭,向北,去袁紹軍中,回到劉備身邊。曹操左右欲追殺之,不過曹操認為各為其主而阻止。
后來,民間文化把關羽此舉叫做“千里走單騎”。
鎮守荊州
劉備在得到諸葛亮后,越來越器重諸葛亮。關羽、張飛對此事感到不悅,劉備解釋道:“我得到了孔明,就像魚得到了水,希望諸君不要再說了。”關羽、張飛于是停止了抱怨。
建安十三年(208年),劉備投靠劉表,屯兵于新野。曹操率領大軍南下,劉備南逃,另遣關羽乘數百艘船駛向江陵會合,但劉備于途中當陽(今湖北省宜昌市)長坂坡被曹操軍追至,幸而關羽駛至漢津,一同乘船至夏口。