李定国相当聪明,他不直接去江西支援金声桓,而是采取了围魏救赵的办法,直接进攻湖南,打孔有德的后方。
五月,李定国率军连克沅(湖南芷江)、靖(湖南靖县)、武岗诸州。镇守宝庆(湖南邵阳)的清将沈永忠急忙向孔有德告急,孔有德从长沙分兵救援。李定国抢在援敌之前,从枫木岭渡江直取宝庆,消灭清军五千,然后分兵衡阳。
六月,李定国兵出宝庆,衡阳,进逼湘潭,威胁长沙。
他兵分三路,由冯双礼率左路取娄底,张胜率右路攻萍乡,自己亲率一路攻湘潭,然后三路合攻长沙。
在长沙战役中,大西军作战勇猛顽强,速战速决。左路出奇制胜,很快攻克娄底,李定国当机立断,命令部队勿入娄底,与自己合兵推进,直趋长沙。
长沙失陷则湖南全省震动,孔有德反过来要面临李定国和金声桓两面夹击了。他只得放弃进攻南昌的金声桓,从赣州回军支援长沙。
六月三十日,孔有德主力先头部队到达长沙,大西军奋勇抵抗,双方激烈交锋,死者不计其数。
七月初一,孔有德又率主力到达,两军还没有交战,李定国训练的的战象队就扑过来,清军马匹受惊,大败而逃。
大西军趁势掩杀,清军死伤惨重,退入长沙城固守。
大西军乘胜追至,将城包围。
七月初四,大西军登云梯攻城,清军残军所剩无几,孔有德亲自披挂上城厮杀,战斗中额头中箭。
到这时候,他自知走投无路,于是把所有的家产放在一个屋子里,又亲自把自己的爱妻们杀掉,而死。仅有一女孔四贞逃脱。
清军主力被歼,主帅身死,金声桓趁机连下永新、安福、永宁、龙泉,围攻赣西重镇吉安,重新占领江西全境。
长沙城破,李定国又向北攻占益阳、常德、岳州,接着开始剿抚流窜在各地的顺军残部和土匪,恢复湖南全境。
同时,李定国传令全军,不可乱杀无辜。占领地方之后,先恢复大明法制,设置官吏,安置百姓,让黎庶得以平安生活。