Cao Cao beleiret Chunyu Qiongs forsyningsleir og brente den ned sammen med store mengder korn. I krisen som fulgte, nektet Yuan Shao å sende sin hovedstyrke for å hjelpe Chunyus tropper, som hans kommandant Zhang He rådet ham til å gjøre. Istedenfor sendte han en liten styrke lett kavaleri for å hjelpe Chunyu, mens han angrep Guandu med hovedstyrken av sin hær. Ved daggry hadde Wuchao falt til Caos voldsomme angrep, og Caos seierrike soldater beseiret så den lille unnsetningsstyrken. Ved Guandu mislyktes Yuan Shaos forsøk på å trenge igjennom, og moralen falt på grunn av de tapte matforsyningene. Zhang He og Gao Lan overga seg, og bataljonene deres brente sine våpen. Cao Cao benyttet igjen sjansen, og angrep mens fienden var på sitt svakeste. Omtrent 70 000 av Yuans soldater døde, og han mistet store forsyninger. Selv kom han seg unna over Den gule flod med bare litt over åtte hundre ryttere.