曹操非常感动,当场表态,任命刘备为先锋,关羽、张飞为护卫,带五千士兵先行出发,征讨袁绍,同时派荀彧督运粮草接应。刘备、关羽、张飞站在洛阳的点军场上意气风发,祭旗后率五千士兵出发。曹操第三天也在点军场祭旗,然后派曹洪、曹仁、夏侯渊各带一军由自己率领,分左中右三军出发。夏侯霸带一军去救兖州。除去刘备五千人,曹操只派出五万人,另外夏侯霸带走一万。六万五千人对袁军六十万,兵力悬殊很大。
曹军很多人都心里害怕,觉得再也回不了洛阳。刘备、关羽、张飞星夜兼程,往官渡进发。袁军在官渡歇息五日,颜良与文丑抽签抽中颜良。颜良笑笑,带着五万沧州武林兵渡河。河水很宽,刚刚浮冰解冻,袁兵用铁索和木板铺桥过河。武林兵成军时短,军纪不严,嬉笑着铺桥,不时有上游浮冰冲下,有士兵不慎被冲走、也有铁索、木板被冲走情况。颜良看着生气,用马鞭鞭打士兵,士兵皆有武功,并不甚惧颜良。不仅敢顶撞颜良,还有人撒了一把药粉,把颜良迷得稀里糊涂,眼睛流泪红肿,张不开眼。
颜良气的等浮桥贯通,命令军队尽快过河。士兵嘻嘻哈哈,都把战争当成儿戏,争先抢渡。一时间十人有一纷纷落水,又被周围士兵拉扯,往桥上拖,乱成一团。颜良走过渡桥,寻找自己的亲兵和马匹,半天都找不到。五万士兵有四万已过河,还有一万还在那拖拖扯扯在桥上走。关羽骑着一匹青骢马已经带着三百士兵赶到。他看着前面河岸处有颜字大旗,知道是大将颜良。这个颜良说起来长得和关公还有几分相像,也是土地庙的城隍模样,带着冠巾,三绺长须,面红发紫,使一把三尖二刃刀。所以关羽有时被武林人士当成颜良,关羽心里对颜良不满多矣。关羽骑马直扑颜良大旗,刚想砍倒大旗,立一下威。就看到旗下站着一人,正是颜良。关羽大喝一声,颜良休走。一拍马,冲上前去,手起刀落,一代名将颜良还在那寻找自己的亲兵、刀马,眼睛还看不清楚,连关羽冲来都没发现。四万人乱乱哄哄,还兵找不着将,将找不着兵呢,颜良已经人头落地。关羽提起颜良的人头,大喊,我已斩颜良人头,还不赶快投降。四万人有看到的,那还敢反抗,但也都是武林人士,纷纷转头就跑,有些往桥上就跑,急切间还有一万人正在过河,哪能挤过去,相互踩踏死伤无数。很多人掉进河里,顺流而下,不知生死。关羽以三百人单骑踏营,袁军大溃。
第二天关羽不听刘备劝阻,隔河大骂,文丑阻拦不住手下要求为颜良复仇,只好率军渡河迎战。刘备、关羽、张飞和文丑说好退兵五里,文丑一万人渡河,关羽骑马冲出阵营,大喊,我乃汉室宗亲刘备刘皇叔手下大将关羽,昨斩颜良,小儿文丑,敢来送死乎。文丑虽身经百战,但是也面红耳燥,只好出阵迎战,没想到关羽确实不负盛名,手里青龙偃月刀,左劈右劈,文丑虽然枪法纯熟,也是河北名将,但是二十多回合过去,有点相形见拙,他感觉不好,回马便走。但没想到他越河而来,地形狭窄,跑出五里,就到河边,他摘弓搭箭,准备反射关羽,关羽看他持弓,挂起镔铁枪,身形伏下伏在马上,身体在两马一错时,用手中大刀刀背反身在文丑背上一抽,文丑没有防备,当场被刀背抽于马下,头倒栽葱直接贯地而亡。关羽看文丑坠地,也不上前,直接圈马回阵。
文丑手下抢回文丑尸体,渡河而去。袁绍得报大惊,自己先锋不利,颜良、文丑皆是河北名将,却纷纷而亡。十五万大军,溃不成军,只剩二万。袁绍收集剩下人马,又下令袁谭、袁尚再征沧州冀州十万守城军队,前来决战。袁绍屯军官渡,倚河扎营。
又过三日,曹操率军赶到。听闻关羽阵斩颜良、文丑,击溃袁绍二十万士兵,心里高兴。但刘备、关羽、张飞以远途劳顿,粮草不继为由提出撤兵,不顾曹操再三挽留。曹操送走刘备、关羽、张飞,派夏侯渊、荀彧率二万士兵回防洛阳,与贾诩一起辅佐原来留在洛阳的曹丕,镇守洛阳,防止吕布、西凉军也防备其他人趁虚进攻洛阳。