在统治全国的元朝灭亡之后,蒙古贵族仍然企图重新入主中原,不断组织力量反攻。当时的局势对于朱元璋来说并不乐观。此时王保保率领十余万军队,占据山西、甘肃。丞相纳哈出带领二十余万军队守辽东。而云南还有十余万元军,甚至高丽(今朝鲜)也仍然听从元的统治。这就好比朱元璋睡觉时,帮边站着一群拿着大刀和长棍的人,随时准备给他一下。在这种情况下,徐达和常遇春又开始了进攻,这次他们的目标,正是王保保此时的元军终于痛定思痛,重新整合了军队,元顺帝也认识到了王保保的实力,将所有的军事指挥权交给了他。王保保终于得到了他梦寐以求的兵权,他将名正言顺的带领精锐元军与统领明军的明朝第一名将徐达决战。徐达、常遇春在攻下大都后,分兵两路,常遇春南下保定,从北路进攻山西。徐达的部队进军漳德,从南路进攻。他们预备在太原合击王保保,将他一举歼灭,由于第一先锋常遇春成为了北路军的统帅,徐达军的前锋由汤和担任。这位朱元璋的老朋友十分想抢头功,他在没有得到徐达许可的情况下,自行突进,攻克了泽州,在他看来,取得山西指日可待!事实证明,他们把王保保看得太简单了王保保等待的正是这个时刻,他利用汤和孤军深入的机会,连夜集合大军在山西韩店偷袭汤和,汤和率领的明军惨败,死伤数千人。徐达军陷入困境,这是他与今后的老对手王保保的第一次交锋。此时,元顺帝突然不顺了,回到上都后,每天看到的都是草原和沙漠,还是大城市好,他有点后悔,自己为什么要逃出大都,韩店的胜利鼓舞了他,看来明军并不可怕。于是他命令王保保集合主力,北出居庸关,收复大都!王保保经过了周密的准备和计划,带领了十万大军,向大都攻击。但在他的心中,却有着两种打算,如果徐达不去救援,他就趁机攻下大都,迎接元顺帝归位。如果徐达来援,他就以逸待劳,设下圈套,伏击徐达。这是一个万无一失的计划,无论徐达选择哪条路,他都是胜利者可是徐达却选择了第三条路,一条让他哭笑不得的路。徐达在得到王保保进攻大都的消息后,冷静的分析了局势,他看透了王保保的打算,决心给他一个意料不到的惊喜。你不是要攻打大都吗,我就打你的太原!徐达认为大都有大军驻守,而且城防坚固,不足为虑。退一万步说,即使丢了,再打回来就是了,赔得起。而王保保就不同了,他倾巢而出,太原成了空城,而明军的主力离太原很近,王保保如果没有了太原,就只能去关外放羊了。于是他连夜带领骑兵直捣太原。其实徐达的目标也不是太原,而是王保保,他相信王保保一定会回兵救援的果不其然,王保保得到这个消息,大为吃惊,立刻率领十万骑兵回救太原,他回击速度十分之快,在太原附近遭遇了徐达。此时徐达的军队以骑兵为主,而步兵大队还未赶到,士兵数量只有王保保的一半两支骑兵部队就这样相遇了,这也是中原政权的骑兵与纵横天下的蒙古骑兵第一次大规模的交锋。