十月十八日,包围成都。当时成都守兵只有2000人,布政使朱燮元急调石柱宣慰司(治所在今四川石柱县)、龙安府(治所在今四川省平武县)等地官军入援,同巡按御史薛溥政等分门固守。明廷升朱燮元为四川巡抚,调派杨愈茂为四川总兵官,入川平叛。石柱宣慰使秦良玉(女)派遣其弟秦民屏,其侄秦翼明等率士卒4000人进驻南坪关(今四川南川西南),扼重庆叛军归路,又分兵守忠州(今四川省忠县)。
女将秦良玉自统精兵6000人沿江西上。贵州巡抚李标派总兵张彦芳、都司许成名、黄运清等援救四川。从十月至十二月,大小百余战,消灭叛军1万余,先后收复遵义、绥阳、湄潭、桐梓、乌江(今均屑贵州省)等地。叛军方面,奢寅在成都造云梯和旱船(吕公车),日夜攻城。秦良玉等各路援军到达成都以后,与登莱副使杨述程、安锦副使刘芬谦大败叛军于牛头镇,收复新都。
天启二年(1622年)正月二十九日,朱燮元以叛军将领罗乾象为内应,又遣部将设伏诈降,诱奢崇明至城下,再败其军,罗乾象投降,成都解围。官军乘胜追击,先后收复资阳、内江、简州、泸州等四十余州县,奢崇明父子退往永宁。五月二十三日,诸军进逼重庆,秦良玉率秦民屏夺取二郎关,总兵杜文焕破佛图关。川东兵备副使徐如珂亦击退奢寅所遣周鼎援军数万(又说2万人或四五万人),歼敌万余。二十八日,收复重庆,杀死樊龙和张彤。此后,双方屡战于建武(今四川省大坝西、兴文南)、长宁(今四川省珙县东)、珙县、宜宾、遵义一带,互有胜负。