讨伐薛举、薛仁杲父子的战争,是唐初统一战争的第一个大战役。李世民在这次战役中挂帅亲征,经历了“胜利—失败—胜利”的曲折过程,表现了他在军事指挥上的日渐成熟。薛举,汾阳人,侨居于金城郡(今甘肃兰州)。他骁勇无比,有万贯家财,喜好结交豪杰人士,称雄于西部边地。大业十三年(617年)四月,据郡起兵,开仓赈贫,自称西秦霸王,建元秦兴,封儿子仁杲为齐公,幼子薛仁越为晋公,招集群盗,抢掠官府的牧马,很快就占有陇右之地,拥有部众达13万。七月称秦帝,立妻子鞠氏为皇后,儿子薛仁杲为皇太子。薛仁杲很有力气,善于骑射,军中号称“万人敌”。他生性贪婪、残忍,嗜杀成性,曾经抓住庾信的儿子庾立,他因庾立不肯投降而发怒,将庾立在火上分尸,然后一点点地把肉割下来让军士们吃。待他攻下了天水,就把天水的富人都召来,倒吊起来,用醋灌鼻子,向他们索取金银。之后,薛举父子又袭击并收编了唐弼的部众,势力越加壮大,其部众号称30万人。薛氏父子起兵是陇右豪强地主叛隋的行动,其性质与李渊起兵一样,而且进军目标也都是直指关中。大业十三年(617年)十一月,李渊、李世民父子抢先攻占长安。十二月,薛举父子获悉此事,便以十万兵力进逼渭水之滨,包围了扶风郡城,构成了对李渊势力的严重威胁。面对这种情况,李世民挺身而出,率兵在扶风反击薛仁杲,大破薛仁杲军,并追击到垅坻才返回。薛举大为惊慌,问他的臣属:“自古有天子投降的事情吗?”黄门侍郎钱塘人褚亮说:“赵佗归附汉朝,刘禅侍奉晋室,近代的萧琮,到现在还地位显赫高贵,这种转祸为福的事自古就有。”卫尉夕即郝瑗快步上前说:“陛下不应该问这种事!褚亮的话又是多么荒谬。从前汉高祖经过多少次逃亡和失败,蜀汉的先主刘备屡次失去妻室儿子,但他们最后都完成了帝业,陛下怎么能因为一次失利,就要做亡国的打算呢。”薛举后悔了,说:“我不过拿这话试试你们罢了。”这次前哨战的胜利,对于李渊父子来说,意义重大,不仅鼓舞了士气,使他们在关中站稳了脚跟,并且便于向外发展。同月,平凉留守张隆、河池太守萧瑀及扶风、汉阳郡“相继来降”。接着,又取得了巴、蜀之地。
薛举不甘于失败,企图勾结突厥,重新“谋取京师”。武德元年(618年)五月,李渊称帝。六月,薛举就入侵泾州,纵兵掳掠,直至豳州、岐州一带。刚被封为秦王的李世民,以西讨元帅的名义,和刘文静、殷开山等率八总管兵前往抗击。七月,双方对垒于高墌(今陕西长武县北)。李世民加深壕沟,加高壁垒,不和薛举部交锋。正当这关键时刻,李世民得了疟疾,卧于军中,把指挥大权委托给刘文静和殷开山两人,并告诫二人:“薛举孤军深入,粮食不多,士卒疲惫,假如来挑战,小心不要应战。等我的病痊愈后,和你们一起打败他。”退下后,殷开山对刘文静说道:“王爷担心您不能退敌,才说这番话。贼兵听到王爷有病,必然轻视我们,应该显示一下武力以威慑敌人。”于是,他们在高墌西南列阵,仗着人多不加防备。结果,薛举以精锐的轻骑从背后包抄掩袭,唐军八总管皆败,士卒死者十之五六,大将军慕容罗睺,李安远阵亡,高墌城也陷落了。李世民和残军退回长安,“京师骚动”,惶然不安。刘文静等人均因此被罢官。
武德元年(618年)八月,薛举获胜后,有人建议“今唐兵新破,将帅并擒,京师骚动,可乘胜直取长安。”薛举同意这种意见,可恰巧在大军出发前,他病死了,薛仁杲继位。8月17日,李渊任命李世民为元帅,攻打薛仁杲。九月,唐军临近高墌,就“坚壁不动”。诸位将领请战,李世民说:“我军才打了败仗,士气沮丧,对方仗着得胜而骄傲,有轻视我们的意思,我们应当在营垒中耐心等待。他们骄傲,我们奋勇,就可以一仗打败他们。”他命令全军:“有敢请战的,斩首!”双方相持了60多天,薛仁杲的军队粮食吃完了,将领梁胡郎等人率领各自的队伍来投降。李世民了解到薛仁杲手下的将领士卒有离异之心,便命令行军总管梁实在浅水原扎营引诱薛仁杲部下。薛的部将宗罗睺知道后非常高兴,出动全部精锐攻梁实,梁实守住险要不出战。营地中没有水源,好几天人马没有水喝。宗罗睺的攻击很猛烈。李世民估计对方已经疲劳,就对诸位将领说:“可以打了!”快到天亮,李世民让右武侯大将军庞玉在浅水原列阵。宗罗睺合兵攻庞玉,到庞玉几乎不能坚持时,李世民率领大军出其不意从浅水原北面出现,宗罗睺率军迎战,李世民率几十名骁骑勇猛冲击敌阵。唐军内外奋力拼搏,呼声动地。宗罗睺的部队大败。接着,李世民率领2000多骑兵追击宗罗睺,窦轨扣住马绳苦苦劝道:“薛仁杲还占据着坚固的城池,我们虽然打败了宗罗睺,但不能轻易冒进,我请求暂且按兵不动,观察一下薛仁杲的动静。”李世民说:“我考虑这个问题很久了,现在我军取胜势如破竹,机不可失,舅舅不要再说了。”于是进军。薛仁杲在城下列阵,李世民依泾河面对薛仁杲营地,薛仁杲手下的骁将浑干等人到唐军阵前投降。薛仁杲害怕了,带兵进城拒守。天快黑时,唐军相继到达,包围了城池。半夜,守城的人纷纷下城投降。薛仁杲无计可施,第二天出城投降。
这一仗,唐得薛仁杲一万多精兵,五万名男女。战争胜利后,诸位将领向李世民祝贺,问:“大王一仗就取得了胜利,骤然舍弃步兵,又没有攻城的用具,轻骑直到城下,众人都认为无法攻克城池,却很快就取胜,是什么原因呢?”李世民说:“宗罗睺部下都是陇山之西的人,将领骁勇,士卒剽悍,我有意出其不意打败了他,杀伤不多。如果迟迟不追击,则都返回城内,薛仁杲加以抚慰再派他们作战,就不容易战胜了;如果迅速追击,则跑散回到陇山之外,折墌城虚弱,薛仁杲吓破了胆,没有时机谋划,这就是我胜利的原因。”众人都心悦诚服。李世民把投降的士兵全部交给宗罗睺,翟长孙等人统领,和他们一起打猎,丝毫不加怀疑戒备,这些人畏惧李世民的威严,又感谢李世民的恩德,都愿以死效劳。唐高祖派遣使者对李世民说:“薛举父子杀了我们很多士卒,务必杀光他们的同党以谢死去的冤魂。”不久前归顺唐的李密进谏说:“薛举残暴地杀害无辜者,这正是他灭亡的原因,陛下又有什么可怨恨的呢?怀柔收服薛氏的百姓,不能不加安抚。”于是下令杀主要谋划者,其余的人都给予赦免。11月22日,取得巨大胜利的秦王李世民凯旋长安,薛仁杲斩首于市。12月2日,唐高祖下诏以秦王李世民为大尉、使持节、陕东道大行台、蒲州及黄河以北各府的兵马都受其指挥。
讨伐薛举、薛仁杲父子的这一场战争,前后进行了近一年,开始小胜,继而大败,最后大胜。这次战争的胜利,解除了唐王朝来自西北方面的威胁,消灭了想夺取关中政权的强劲对手。战争胜利后,因在高墌之战中失利被撤职的刘文静封为户部尚书,领陕东道行台左仆射,并恢复了殷开山的职位。