此时率军驻守贵阳的孙可望为了不让李定国接走永历帝,命令白文选将永历帝从安龙向贵阳转移,白文选早就不满于内讧,因此不断以各种借口拖延,终于,公元1655年,孙可望率军抵达安龙所(后改名安龙府),君臣相见,抱头痛哭。经过一番商议,决定将朝廷迁入云南。
在驻守云南的大将刘文秀、王尚礼、贺九仪等人的策应下,李定国护卫永历帝成功抵达昆明,刘文秀私下对李定国道:“我们认为孙可望是董卓那样的人,但是就算将其诛杀,难保不会出现曹操那样的人”。以此对李定国的忠心提出质疑,李定国当即对天盟誓:“此生忠于大明,绝无二心,若违背誓言,天诛地灭。”刘文秀为其忠心所感,自此两人连为一体。
永历帝不久册封李定国为晋王、刘文秀为蜀王、白文选为巩国公。军政大事悉数委于李定国等人。掌握大权的李定国丝毫不改对永历帝的忠心和尊重。
为了恢复明室的中兴大业,李定国多次派人携永历帝的诏书去与孙可望和解,可惜已经被仇恨和权欲冲昏了头脑的孙可望毫不理会。不久,更是决定亲率十万大军攻打云南,企图夺回永历帝。
仅有三万兵力的李定国无奈之下,决定收缩防守,孙可望大军长驱直入,很快打到了曲靖附近的交水河畔。孙军此时刚渡河到一半,突然,早就对孙可望非常的不满的白文选、马唯兴等人临阵倒戈,汇合对岸的李定国军队掉头杀向本方军队,孙可望军立时大溃,许多士兵纷纷跪在地上,高声疾呼:“拥戴晋王!”穷途末路之下,孙可望仅率数十骑兵狼狈逃走。
不甘于失败的孙可望跑到长沙,投降清朝,企图借兵复仇。更为严重的是他将南明的军情虚实等汇报给了清廷,使得此后清廷的出兵计划有了非常强的针对性。此人醉心于自己的私欲和权力,多次将民族大义置之不理,一再的破坏抗清的局面,对于南明来说,实乃最大的罪人。不过其下场也很凄惨,清廷一开始封他为“义王”,后来局势逐渐稳定后,利用一次围猎的机会,将其射杀,结束了他极其不光彩和罪恶的一生。
在洪承畴、吴三桂、卓布泰等清廷数路大军的压迫下,贵州各地很快被攻下,卓布泰所率大军直抵贵州盘江一带,双方在炎遮河双河口摆开战场,激烈的盘江大战开始了。明军英勇阻击,初战告捷。
第二天,清军倾巢出动,李定国等人疏于防备,又刮起北风,清军乘势猛射火箭,燃起山茅野草,致使明军全线崩溃。清军攻破了李定国的罗炎、凉水井大营,然后大肆屠杀明军和当地百姓,军民被杀的不下三、四十万人,李定国的妻子家属均被卓布泰抓获处死,明军精锐部队受到致命损失。但是,李定国并未气馁,他说:“事已至此,还有什么说的呢,我就这一颗忠心献给大明,死而后已。”
在随后的会议上,李定国的撤入湖南、转移越南、联合郑成功的提议和刘文秀的避入巴蜀、依靠夔东十三家、经营陕洛地区的提议均被否定,在沐天波和马吉翔等滇人的坚持下,永历帝决定退守滇西、再有不测则向缅甸转移。
李定国负责殿后,在磨盘山(今云南永昌)大战中,与追击而来的清军爆发了激烈的血战,他的六千兵马阵亡大半,而清军也死亡惨重,退却数十里,近二十名清将在此役中丧命。眼见明军战斗力如此强悍,清军此后未敢继续追击。
避入缅甸的永历帝不久后被缅王控制,此后李定国多次率军入缅作战,讨还永历帝,虽然屡吃败仗,但是缅王不敢得罪如日中天的清廷,因此拒将永历帝交还。