620年(武德三年)4月,李世民一日八战,大破宋金刚,刘武周闻风而逃,河东安定。
李唐王朝定都长安以后,潼关以东的形势发生了很大变化。窦建德的农民军在河北建立夏国。辅公祐杜伏威占领江淮,自称吴国。东都王世充击溃瓦岗军,于武德二年4月自称郑国皇帝。刘武周被突厥封为定扬可汗,占了晋阳,并向汾水下游进犯,威胁关中的安全。李渊和李元吉主张放弃河东之地,谨守关西,而秦王李世民认为太原乃王业之基,河东物产丰饶,如果放弃此地,关中亦难保全,坚决主张讨伐刘武周。
武德二年(619年)11月,李世民引兵过黄河集结柏壁,与刘武周大将宋金刚对峙。李世民坚壁不战,令主力休整,只命小股兵力抄掠敌营,二军对峙三月之久。武德三年(620年)2月,刘武周进攻潞州,被唐将王行敏打败,后又遭李仲元袭击,军威大挫。宋金刚亦军心不稳,同时粮道被断,被迫退走。秦王乘胜追击,一昼夜行军200余里,一直至雀鼠谷,已二日不食,三日不解甲,一日之内交锋八次,大破金刚,俘斩数万人。金刚部将尉迟敬德以介休降秦王。宋金刚败走突厥,刘武周闻讯,亦弃并州走突厥,后皆为突厥所杀。5月,秦王收复晋阳,稳定了河东局势。