守山东防备朱元璋，自己亲入陕西攻打李思齐，双方连年混战，元政府的态度则摇摆不定，先支持王保保，然后又支持李思齐，最后元惠宗于至正二十八年（1368年）下诏削去王保保所有官职，命令众将合攻王保保。此时，朱元璋已经在金陵即位，建立明朝，改元洪武，徐达、常遇春的北伐大军也已经逼近大都，并最终在1368年9月14日攻克了大都。当年十月，逃往开平（今内蒙多伦县）的元惠宗再次封王保保为齐王，命其从其根据地山西太原北上，绕道雁门关和居庸关夺回大都（当时已被朱元璋改名北平），徐达趁王保保进攻大都的机会，攻入山西，在太原