唐高祖李渊占据关中后,父子四人是有分工的,其中李建成和李渊在长安居中调度;秦王李世民经略长安以西,对阵西楚霸王薛举薛仁杲父子;三子齐王李元吉驻守太原,守卫并州根据地。
武德元年,李世民率领刘文静、庞玉等击溃西楚,俘虏薛仁杲,将陇西、河西等地纳入大唐版图,基本上解决了关中在西北方向的威胁。但是此时,留守并州的李元吉碰到刘武周和宋金刚的进攻,却节节败退。李渊派裴寂率领大军援助并州,宋金刚在介休击败裴寂,李元吉看大事不妙,带着家眷赶紧逃到了长安。刘武周、宋金刚连克晋州、太原、并州,直抵龙门,威胁关中。
李渊发诏书给李孝基,令其驻守黄河,暂行弃去河东诸郡。但是李世明极力反对这种做法,他认为,关中全靠河东赋税支持,如果丢弃河东关中将无法维持;另外,李唐的将领大部分都是河东人,河东若丢弃,人心浮动容易造成哗变;且陇西归附不久,若河东不稳,则一定会影响到陇西的安定。因此李世民极力要求亲自带兵收复河东。李渊于是同意了李世民的要求,尽发关中将士随李世民克复并州。
于是,李世民于武德二年十一月,趁黄河封冻,率大军从龙门渡过黄河,在柏壁和宋金刚军相遇。李世民扎下营寨,坚壁不出,令河东诸郡供给粮食。诸郡正在观望,一看李世民率军到来,都争先供应粮食。另一方面派出小股部队骚扰宋金刚军队,命令部队敌进我退,敌退我进。宋金刚军战力剽悍,李世民堂兄李孝基在骚扰战中被宋金刚手下大将尉迟敬德和寻相击败,全军覆没。双方一连对峙数十日,至武德三年。
武德三年初,刘武周进攻潞州过程中被唐将王行敏击败,再攻浩州被唐将李仲文击败,刘武周军威顿挫;同时由于粮食运输不及,士气衰败,和李世民对峙的刘武周军主力宋金刚部便开始撤离柏壁,想返回马邑。李世民率领军队追击宋金刚,一昼夜行军二百里在高壁岭赶上宋金刚后军,击溃宋金刚后军后,将士们都要求停下来等待后面的粮食赶上来,吃完饭后再继续追击。但李世民不同意,于是大家空着肚子,继续追击宋金刚,在鼠雀谷终于追上宋金刚主力。宋金刚且战且走,两天内接战八次均被唐军击败,宋金刚落荒而逃。当时李世民已经有三天没有解甲休息,两天没有吃饭,军中只有一只羊,李世民便命令将羊杀了和将士们一块分而食之,吃完后,继续领军追击宋金刚,到达介休城。宋金刚便将介休城内剩余的两万军队全部开出城,要和李世民决战,李世民命令前军和宋金刚接战,后军绕道介休城后面夹击宋金刚,宋金刚军队大溃,斩首三千人。宋金刚只带领数人逃奔突厥去了。
不久李唐派人贿赂突厥,宋金刚、刘武周均被突厥所杀。河东诸郡皆被李世民克复。
薛仁杲、刘武周被消灭后,李唐的后方基地变得更加安全,从而可以专心致志的东向争夺天下。而此时隋末群雄割据局面已经进入了下半场,小的割据势力被大的势力吞并,此时华北地区出现了三个可以统一全国的地方政权,分别是李渊建立的唐(都长安),王世充建立的郑(都洛阳),窦建德建立的夏(都乐寿)。李唐是如何一战击败王世充和窦建德的,请关注李唐立国第五战:洛阳之战。