李渊
李渊后军到，前军组成方阵阻拦隋军进攻，其余两军随其后。李渊想让军士先吃饭再战，李世民说：“时不可失。”李渊与李建成合阵于城东，李世民和柴绍列阵于城南。战事并非如李渊所想进行：李渊步兵和隋军初交锋时，隋军占上风击退李渊，可能是因为李渊未能将全部军队投入战场，且李建成在战斗中坠马为敌所乘。李渊趁机伪退。宋老生以为李渊害怕自己，继续进兵，离霍邑数里列营。李渊在交战前先派李建成、李世民杀向霍邑城门。李世民率军头段志玄等二骑从南原陡坡上奔下，冲断隋军，引兵奋击，杀出隋军之后，李世民手杀数十人，两把刀都砍缺了，满衣袖都是血，洒血再战。隋军大败，丢下兵器而走。李渊士气复振，散布宋老生被擒斩的谣言，隋军士气彻底崩溃，抵抗瓦解。隋军退向霍邑城门，来路已被李建成、李世民阻断，守军也已放下闸门。宋老生弃马投护城河，想攀城上扔下的绳子上城，离地一丈有余，被刘弘基部下军头卢君谔所部跃起斩首，传首李渊。