待敌军进入陷阱范围,程昱一声令下:“放箭!点火!”关两侧山林中箭矢齐发,关前陷阱轰然引爆,巨石滚落,火光冲天,董卓大军顿时陷入混乱,死伤惨重。李傕、郭汜见状,才知中了埋伏,连忙下令撤军,却被江东子弟和曹军将士追击,又折损了五千多人,只得狼狈退回长安,再也不敢轻易出关。程昱见董卓大军退去,当即派人将消息送往洛阳,告知曹操函谷关安然无恙。
此时的洛阳城外,袁术大军已连续攻打了三日,洛阳城防虽有损伤,但鲍信、乔瑁麾下将士依旧死战不退,袁术大军伤亡已达两万余人,联盟内部开始出现裂痕。张咨见攻城不利,又听闻董卓大军偷袭函谷关失败,心中打起了退堂鼓,暗中召集麾下将领商议:“袁术势单力薄,难以攻破洛阳,若再耗下去,我等兵力只会损失殆尽,不如趁早撤军,保全自身实力。”麾下将领纷纷附和,张咨当即决定,当晚便率军悄悄撤离。
入夜后,张咨率领部众悄悄出营,向南阳方向撤退,却因慌乱中惊动了巡逻的袁术亲兵。亲兵连忙将消息禀报袁术,袁术大怒:“张咨匹夫,竟敢临阵脱逃!”当即下令韩暹率领五千兵力追击张咨,务必将其斩杀。韩暹本就对袁术不满,又不愿损耗自身兵力,只象征性地追击了一段路程,便率军返回营寨,谎称未能追上张咨,袁术虽有疑虑,却也无暇深究,只能强压怒火,继续筹备攻城。
第四日清晨,曹操率领三万大军终于抵达洛阳城外,远远便看到袁术大军正在攻城,城头守军已是强弩之末,不少将士身负重伤,却依旧奋力抵抗。曹操见状,眼中闪过一丝怒火,当即下令:“全军出击,分三路包抄敌军,务必重创袁术大军!”曹军将士早已憋足了力气,闻言纷纷呐喊着冲向敌军阵营,张辽、夏侯惇、夏侯渊分领三路大军,如猛虎下山般直扑袁术军营。
袁术大军正全力攻城,毫无防备,被曹军突如其来的袭击打懵了,顿时陷入混乱。张辽一马当先,手持月牙戟,斩杀了袁术麾下数名将领,曹军将士紧随其后,奋勇杀敌,袁术大军阵脚大乱,纷纷向后逃窜。鲍信、乔瑁在城头上看到曹操大军到来,士气大振,鲍信高声喊道:“主公援军已到,将士们,随我杀出城去!”说罢,亲自率领一万将士打开城门,从城中杀出,乔瑁则率领剩余将