唐军派军来袭单雄信大营,余飞便在山上居高临下放炮接应,王世充亦分兵两路从单雄信大营两侧冲出反包围唐军,唐军攻了几次,损兵折将,只得收兵回营只将郑军堵在谷内却不敢再来攻,王世充亦派郭士仁,郭士衡兄弟摔兵三万去冲唐军大营,结果被唐军三营合围,还是单雄信紧急接应才撤了回来,两军便暂时停止以大兵力冲营,每日只派出游骑斥候打探敌军动向,一时间谷外数里之地,每日只有小股游骑斥候相互刺探和厮杀。
僵持半月,基本打探出唐军三座大营基本情况,中营由李渊亲自驻守,兵力约六万,左营由李世民摔秦叔宝,尉迟恭等驻守,兵力加上程,秦带去的亦六万左右,右营由李元吉率领约三万左右。了解完敌人兵力,王世充便与众将定下决战计划。
第二日天刚拂晓,单雄信摔八千铁骑丢弃军营直扑李渊大营,李渊急令大炮齐发,单雄信军却全是骑兵,死伤无几便已冲到近前。
李渊只得大军齐出,短兵相接,虽单雄信军勇猛也很快被包围起来,李渊正欲挥军围剿单雄信,王世充大军早到,派出五千骑兵专抢炮兵阵地,其余便成散兵状五人一组相互配合向李渊军冲杀,李渊军一时落入下风,正在此时,左右两营李世民,李元吉军杀到,向王世充军两翼猛冲,王世充虽外侧早已布置防御,还是被两军步步压缩,阵地越缩越小,李世民站在山坡上看众猛将悍卒冲击敌军阵营,一阵欣慰,以为活捉王世充就在今日,谁知只听背后炮响,却是余飞摔归义军找一山头已装好大炮,对着李世民军猛轰,李世民军为何不带大炮?原来这时的大炮还是初级阶段的笨重炮身,运输,安装都麻烦,行军路上是做不到随用随打的,余飞也是利用中军大战各方目光被吸引的时间才装好大炮,对着唐军猛轰起来,李世民军没有准备应对大炮,本来就是密集阵型,一时间死伤无数,哀嚎遍野,王世充见余飞得手,大喜,组织军阵抵住李渊军及李元吉军冲击,集合大兵向李世民军猛攻。世民军虽是百战之师一时也大乱起来,收拾不住,那边王飞虎又摔军一万夹攻,李世民只得摔军且战且退,想退出大炮射程再做打算,谁知刚退出射程斜刺里方石玉摔骑兵五千冲来,世民军本就队形不整被这么一冲更加大乱起来,身后王飞虎军,王世充亦派兵二万追赶,世民军直被杀得漫山遍野,还是程咬金,秦叔宝尉迟恭等将亲自断后世民才摔军摆脱包围,直跑了二三十里,集合点军六万大军只剩二万,恨得世民咬牙切齿大骂王世充,余飞狗贼!
那边,没了李世民支援,李渊军更加难以抵挡,终于被王世充骑兵毁了炮阵,少了大炮威胁,王世充万军齐发左右两路出击,李渊不得不把还勉强有队形的军队分做两路抵挡,如此中间便力量减小,单雄信金钉枣阳槊使得呼呼响,似乎永远没有力尽处。当头冲锋,冲破李渊阵前防御,已见到李渊立在帅旗下,再杀十来人便能冲到,单雄信大喜,叫一声:“李渊老儿受死!”横扫竖切直奔李渊,李渊大急,只得抛下大军在亲兵护卫下急急奔命,单雄信摔军追杀,忙不得顾及身后,跑出数里才回身一看,身后只有数十骑,也顾不得了,李渊就在眼前,单雄信接过手下弓箭,射出八箭,射死李渊数个亲兵,李渊身后已无人跟随,单雄信再射出一箭却是李渊身子一歪,射在手臂上,李渊臂膀吃痛,暗道一声:“莫非我李渊今日要死在此处!”正绝望之时,只见前方有座县城,李渊忙打马向县城奔去,城上之人见是李渊被追忙打开城门。
李渊催马进城,那马跑了一天早已口沫横流,刚垮进城门腿一软倒了下去,李渊直被甩出三四丈远,摔得鼻青脸肿,城里来迎接的人急令县兵关门,门外单雄信已只有数丈之远,若不是箭已用尽,李渊再有几条命也难活了。
这人才扶起李渊问:“陛下怎么如此狼狈?”声音中充满不可置信,来人正是派在后方收集粮草的刘弘基。李渊虽手臂中箭,又摔得鼻青脸肿到底进了城暂时是安全了,喘息几声老泪纵横拉着刘弘基道:“弘基纳,兵败如山倒,朕自起兵未曾如此败过。”