不久后,大军顺利向南渡过渭水,来到长安旧城下驻扎。长安旧城在当时仍为隋朝的重要据点,城内隋军早有准备。当李渊军队抵达城下之时,城中隋军便立即出城迎战。
只见城门大开,隋军如潮水般涌出。隋军的先锋是一队骑兵,他们骑着高头大马,挥舞着长刀,呐喊着冲向李渊的军队。其后是密密麻麻的步兵方阵,步兵们手持长枪,枪尖在阳光下闪烁着寒光,严阵以待。
刘弘基见隋军出战,毫不慌乱。他将六万大军迅速布成阵势,步兵在前排成整齐的方阵,盾牌手稳稳地举起盾牌,形成一道坚固的防御墙,长枪兵在盾牌后面蓄势待发;而骑兵则在两侧集结待命。
隋军的骑兵快速冲向李渊军的步兵方阵,试图冲破防线。然而,当他们靠近时,刘弘基一声令下,步兵方阵中的弓弩手万箭齐发。密集的箭雨如黑色的幕布一般朝着隋军骑兵倾泻而下。一时间,隋军骑兵马嘶人喊,许多骑兵被箭雨射中,人仰马翻。
隋军的步兵方阵紧接着向前推进,试图在骑兵被阻挡之时,一鼓作气攻破李渊军的防线。可是,刘弘基早有谋划,他指挥着步兵方阵微微侧身,让隋军的步兵长枪阵陷入一个相对狭窄的包围圈中。此时,两侧的骑兵迅速出动,如两把锋利的剪刀从侧翼包抄过去。
隋军陷入混乱,前后不能相顾。刘弘基抓住这个时机,指挥步兵放下盾牌,手持长刀冲向隋军。双方短兵相接,展开激烈的白刃战。义军的士兵们个个英勇无畏,在将领的激励下,奋勇杀敌。隋军在这种前后夹击的情况下,渐渐招架不住,死伤大半。
刘弘基命令义军趁势攻城,隋朝守军此时看到义军勇猛如怒虎下山,杀声震天,早已闻“声”丧胆,无心恋战,纷纷放下兵器,弃城投降。
刘弘基此战大胜,义军顺利进入长安故城驻扎,收服降兵败将,义军纪律严明,安抚百姓,秋毫无犯,城中很快便恢复了平静。
同时,李渊向位于泾阳的李世民部队发出命令,命李世民带领义军先赶至的司竹园(前文提到过筹建“娘子军”的平阳公主曾在此避难),再前往阿城驻扎。