到1651年(順治八年、永曆五年),孫可望部署的南明軍隊已經控製了貴州全省,前鋒進入湖南西部和四川南部。針對這一形勢,清廷除了加強湖廣的防務外,派遣平西王吳三桂、定西將軍固山額真李國翰帶領所部兵馬由陝西漢中入川。1652年二月初七日吳、李二部到達保寧(今四川閬中)[71]。十二日南下,二十二日推進到成都。奉孫可望之命守衛成都的總兵林時泰不戰而降。由於林時泰曾經投降過清朝,後來又在潼川反清歸明,吳三桂認為他是反複無常、奉有明旨緝捕的“欽犯”,下令把他斬首示眾。占領成都以後,吳三桂坐鎮該城,由李國翰統兵於二十四日收取眉州,二十五日占領嘉定(今四川樂山市),活捉明總兵龍名揚(倮?族,原為雲南臨安府石屏州宣慰司土官)[72]。三月,吳三桂、李國翰調集梅勒章京葛朝忠、白含真、佟師聖,夔州總兵盧光祖,左路總兵陳德,永寧總兵柏永馥等往攻重慶,初五日占領合州,分水陸二路進逼重慶。明軍守將盧明臣因兵力單薄,於十四日放棄重慶。四月下旬,吳三桂等派遣另一支由甲喇章京楊正泰、郭雲龍、右路總兵南一魁、敘州總兵馬化豹帶領的清軍進攻敘州,明守將王複臣、白文選主動撤退到永寧(今敘永)[73]。至此,清軍除了原先控製的保寧地區外,已奪得成都、重慶、敘州、馬湖、邛州、雅州、嘉定、眉州等府縣,清政府認為“全蜀漸次底定”,應當講求“善後”之策了[74]。
正在這時,孫可望從全局著眼,唯恐清軍在四川站穩腳跟後,南犯貴州,遂派撫南王劉文秀統領援兵四五萬人三路入川,由建昌、敘永、彭水展開全麵反攻[75]。八月初九日,明軍攻克敘府,據守該城的清兵“全軍覆沒,南總兵(南一魁)不知下落,馬總兵(馬化豹)隻身逃回,甲喇、牛錄死難者數十餘人”[76]。與此同時,明軍大將白文選也率部反攻重慶。吳三桂、李國翰見明軍勢大,於八月十九日在夾江縣同四川巡撫李國英緊急會商,決定全師“北撤,以保萬全”[77]。駐守重慶的清軍將領梅勒章京葛朝忠、佟師聖、白含真、鑲紅旗章京尹得才,總兵柏永馥、陳德、盧光祖於八月二十四日接到吳三桂的撤退命令,二十五日渡江北還。同一天,明軍收複重慶,隨即派兵尾追清軍,在距離重慶一百二十裏的停溪將清軍包圍,用火器四麵圍攻。二十八日,清軍大敗,梅勒章京白含真被活捉[78],永寧總兵柏永馥帶著殘兵敗卒逃到保寧時,部下“兵支離削弱,才得百人”[79]。