卻說袁紹帶著自己的大軍,向南進發。曹操得到消息,立刻帶兵七萬,前去迎敵,叫荀彧留守許都。袁紹七十萬大軍南下到了陽武,紮下營來,營寨很多,東西連綿,長達九十多裏。曹軍這時候也到了陽武,一看敵人這麽多,都不禁害怕。荀攸說:“我們應該抓緊打,如果拖延時間長了,糧草就不夠了。”曹操說:“你說的正合我意。”於是傳令擊鼓前進。袁紹也帶軍來迎戰,雙方列開陣勢。袁紹的部將審批帶著一萬弓弩手,埋伏在兩側。袁紹金盔金甲,錦袍玉帶,立馬在陣前,左右排列著張郃、高覽、韓猛、淳於瓊等諸將。曹操也站在門旗之下,兩旁是許諸、張遼、徐晃、李典等。

曹操用鞭子指了一下袁紹,說:“我在天子麵前,保奏你做了大將軍,現在為什麽謀反?”袁紹說道:“你托名漢朝丞相,其實是漢賊,罪惡滔天,還敢汙蔑別人造反嗎?”曹操說:“我是奉詔討伐你。”袁紹說:“我是奉衣帶詔討伐你。”曹操大怒,派張遼出戰。對麵張郃前來迎戰。兩員將官鬥了四五十回合,不分勝負。曹操見了,對張郃暗暗稱奇。這時候,許褚揮著到,衝出去助戰。高覽則挺槍接住許褚,戰在一起。四員將官捉對兒廝殺。曹操叫夏侯惇、曹洪各自帶領三千軍向對方大陣衝去。

審配一看,命令兩旁的一萬隻弓弩手,萬箭齊發。曹軍如何抵擋得住,朝南邊敗走。袁紹揮軍掩殺,曹軍大敗。

袁紹向南追到官渡,紮營下寨。曹操不敢出戰,堅守自己的營寨。袁紹與謀士商議,審配獻計說:“我們可以在曹操的營寨前堆起土山,叫軍兵向下往寨中放箭。”袁紹覺得好,於是從各寨選出精壯軍人,用鐵鍬、土擔,一起在曹營邊上,壘土成山。曹軍看了,想出寨去進攻修土山的人,都被審配的弓箭手亂射,無法出去。不到十天,袁紹修成五十多座土山,上麵修起高樓,分派弓弩手在上麵射箭。曹軍非常害怕,都頂著遮箭牌守衛。土山上一聲梆子響,就箭下如雨。曹軍隻能蒙著盾趴在地上,袁紹軍都大笑。

曹操見軍眾慌亂,就叫謀士商議。劉曄說:“可以製作發石車,來破他的土山。”劉曄畫出發石車的模型,曹操命人連夜製作數百輛發石車,分布在營壘的牆內,正對著土山上的雲梯。等外麵的弓弩手射箭的時候,營內的軍兵一起拉動石車,石頭就飛上天空,往上亂打,人都無處躲藏,弓弩手被砸死很多。袁紹軍於是都管著叫 “霹靂車”,於是不敢再上土山射箭了。

審配又獻出一計,叫軍人用鐵鍬挖地道,直通到曹營裏邊,稱為“掘子軍”。曹兵望見袁軍在山後麵挖土坑,就報給了曹操。曹操又問劉曄,劉曄說:“這是袁軍明著打不行,就暗中攻,在挖地道呢。”曹操文:“那怎麽辦?”劉曄說:“可以在營內挖一圈長溝,他們的地道就沒有用了。”曹操連夜派軍兵挖溝。袁軍的地道挖到溝邊,果然不能再往裏邊進了,白費力了力氣。