李渊攻取长安后,立即就“以书谕诸郡县,于是东自商洛,南尽巴、蜀,郡县长吏及盗贼渠帅、氐羌酋长,争遣子弟入见请降,有司复书,日以百数。”尽管这样顺利,但河东的屈突通,金城(今甘肃省兰州市)的薛举,仍然直接威胁着长安。因此,怎样对付屈突通和薛举,是急需解决的问题。
李渊西进后,屈突通命尧君素留守河东,自己率军数万人西援长安,但为刘文静所遏,迟迟不能前进。双方在潼关相持一个多月。当他得知长安已被李渊攻破以后,遂留桑显和镇守潼关,自己引兵东向,欲赴洛阳。屈突通刚离潼关,桑显和就投降了刘文静。刘文静派窦琮和桑显和共同追击屈突通,屈突通被俘送往长安,也投降了。河东虽然还为尧君素所固守,但这支隋军的力量已是强弩之末,构不成对长安的任何威胁。
薛举原是隋朝金城府校尉。隋朝末年,在全国农民起义的影响下,陇右一带也爆发了农民起义。金城令郝瑗命薛举带数千人去镇压农民起义。义宁元年(公元617年)四月,薛举与其子薛仁果乘机夺取权力,囚禁郡县官吏,“开仓以赈贫乏。自称西秦霸王,建元为秦兴,封仁果为齐公,少子仁越为晋公。”同时,“掠官收马,招集群盗”,扩大其队伍。有一支起义军的领袖宗罗喉,就是被薛举“招集”而加入其队伍,又被“封为义兴公”的。另外,还有羌人锺利俗领导的一支起义军二万人,也归降了薛举。不久,又攻克袍罕(今甘肃省临夏县东),消灭了隋军一万人。接着,又攻克鄯州(今青海省乐都县)、廓州(今青海省贵德县东)等地,“尽有陇西之地,众至十三万。”
义宁元年(公元617年)七月,薛举在金城称帝。不久,薛仁果攻克秦州(今甘肃省秦安县西),薛举因西边大败于李轨而迁都于此。十二月,薛仁果又东进扶风(今陕西省凤翔县)。早在大业十年(公元614年),就有一支唐弼领导的起义军十万人,占据扶风郡的泖源(今陕西省陇县),并且拥李弘芝做天子,唐弼自称唐王。这时,薛仁果派人招诱唐弼,唐弼先杀了李弘芝,然后率部投降薛举。薛仁果乘其不备,突然袭击,唐弼仓惶逃往扶风,被扶风太守窦琎所杀,其众完全并入了薛仁果的队伍。这时,薛仁果带领三十万人,准备进攻长安。
薛仁果得知李渊已攻克长安的消息,遂又围攻扶风。这对正要巩固关中的李渊来说,当然是很大的威胁。于是,李渊派李世民、于扶风大败薛仁果。
武德元年(公元618年)七月,薛举又出兵至豳州(今陕西省彬县)、岐州(今陕西省凤翔县)一带,适逢李世民患疟疾,委托刘文静、殷开山主持军务。刘、殷二人由于麻痹轻敌,被薛军打得落花流水,“士卒死者什五六,大将军慕容罗喉、李安远、刘弘基皆没。”八月,薛仁果又进围宁州(今甘肃省宁县),郝瑗又向薛举建议道:“今唐兵新破,将帅并擒,京师骚动,可乘胜直取长安。”薛举接受了这个意见,但因为薛举患病,不久即死而未得行动。由此可见,薛举是唐高祖巩固关中最大的威胁。
薛举死后,薛仁果继承其帝位,住在折摭城(今甘肃省泾川县东北),继续与唐为敌。唐高祖又派李世民为元帅,西征薛仁果;同时,另派人赴凉州(今甘肃省武威县)联络李轨,使其从西方给薛举形成威胁。
薛仁果叛隋,不仅没有解除广大人民的痛苦,即使在统治阶级内部也很不得人心。他阴险毒辣,残酷异常,“所至多杀人,纳其妻妾。”对于不投降者,“磔于猛火之上,渐割以啗军士。初,拔秦州,悉召富人倒悬之,以醋灌鼻,或杙其下窍,以求金宝。”这样一来,势必“与诸将帅素多有隙。及嗣位,众咸猜惧”。薛仁果内部这样矛盾重重,当然是有利于李世民进兵的。
十一月,李世民兵至高墌(今陕西省长武县北),薛仁果派宗罗喉多次挑战,李世民均置之不理,坚壁不出。相持六十多天,薛仁果军粮用完,其部将梁胡郎又向李世民投降。至此,李世民才认为时机已到,先派梁实率军于浅水原(今陕西省长武县东北)引诱薛仁果,待宗罗喉急攻多日,已经疲惫不堪的时候,李世民率大军出其不意地掩袭而来,“唐兵表里奋击,呼声动地”,宗罗喉溃不成军,被“斩首数千级”。李世民亲率二千骑猛冲直追,直至折墌城下。沿途,薛仁果军多有投降。薛仁果入城拒守,妄图顽抗。由于“守城者争自投下”,军心动摇。薛仁果看到大势已去,只得举城投降了。
东败屈突通,西平薛仁果,唐高祖巩固关中的两大障碍消除了。