崇祯二年(1629)十月,皇太极率后金八旗兵绕道蒙古闯关南下,取道遵化,将逼都城。京师宣布戒严。明思宗急召廷臣商讨对策。吏部左侍郎成基命请求召还天启年间曾任辅臣的孙承宗,任以兵事。明思宗加以采纳,任命成基命为东阁大学士,并命孙承宗以原官兼兵部尚书,筹划通州(今北京通州区)守备。孙承宗入京,明思宗当即召见,询以御敌之策后,连连点头称善,命其“总督京城内外守御事务,仍参帷幄”,并催促首辅韩爌草拟敕书命所司(军事指挥机构)铸给关防印鉴。孙承宗与袁崇焕率领明军英勇作战,迭挫后金军队,终于迫使皇太极退兵,京城转危为安。

    在酝酿组建东林内阁的同时,明思宗也在思考如何平定奢安之乱、稳定西南局势的问题。

    洪武初年,明朝在统一西南地区时,为了减少阻力,实行“西南夷来归者,即用原官授之” 之策,保留并新建了一批土司,通过他们来统治当地的少数民族。土司的职位是世袭的,但承袭必须经过朝廷的审核并履行严格的手续;土司对朝廷负有“附辑诸蛮,谨守疆土,修职贡,供征调” 的义务。不过,土司的内政完全自主,朝廷不加干预,因而割据。某些土司的野心一旦膨胀,图谋割地自立,便会发生武装叛乱。

    洪武四年(1371),明军平定四川,元彝族永宁宣抚司禄照归附,寻改为安抚司,洪武七年(1374)又改为宣抚司。万历初年,永宁宣抚使奢效忠死,奢氏家族内部发生二三十年争袭职位之争。后来,在明廷的支持下,由奢效忠之妻世统抚养长大的奢效忠之侄奢崇明承袭职位。奢崇明表面上对朝廷恭敬有加,实际上“久蓄异志”,与其子奢寅暗中招纳亡命,图谋反叛。天启元年(1621),后金攻占沈阳、辽阳,明廷遣官招募川兵赴援辽东。奢崇明“请提兵三万赴援,遣其将樊龙、樊虎以兵至重庆” 。他们到重庆后,久驻不发。四川巡抚徐可求带病奔赴重庆,促其进兵,樊龙等要求每个士兵发安家银20两,朝廷因国库空虚,“减定十七两,计兵三万,需饷五十四万” ,实际付给4万两。樊龙便以此为借口,于九月发动叛乱,诛杀徐可求等20多名文武官员,占领重庆。

    在永宁(今四川叙永)等待消息的奢崇明,得知樊龙已占领重庆,立即与其子奢寅统率大军攻打遵义,并分兵攻打合江、纳溪、泸州、兴文、永川、长宁、荣昌、隆昌、壁山等城,全蜀震动。奢崇明自号“大梁王”,于十月间统兵数万进围省城成都。此时,成都城中只有2000名守军,粮饷告绌。四川左布政使朱燮元一面急邀石砫(今属重庆)、罗纲(今四川德阳东北)、龙安(今四川平武)、松(今四川松潘)、茂(今四川茂县)诸道兵入援,并征集成都周围200里内的粮食运进城里,一面与巡按御史薛敷政、右布政使周著、按察使林宰等分门固守。明廷得到朱燮元据守成都的奏报,提拔他为右副都御史兼四川巡抚。不久,一向忠于明廷的石砫宣抚司掌印女土官秦良玉遣其弟秦民屏、侄秦翼明等统兵四千,卷甲疾趋,潜渡重庆,营南坪关。自己则统精兵六千,沿江上趋成都。与此同时,各道援兵也陆续赶到成都城下。此时叛军的增援部队也陆续赶来,双方的战斗进入僵持状态。

    天启二年(1622)正月,奢崇明的叛军制造形似舟船的攻城器械,向成都守军发起攻击。朱燮元招募勇士发射炮石,大败叛军。奢崇明部将罗乾象见叛军势衰,派人联络官军,决意投降。“是夜,乾象纵火焚营,贼兵乱,崇明父子仓皇奔,钱帛谷米委弃山积,穷民赖以得活” ,被围102天的成都彻底解围。

    成都解围后,官军乘胜追击,五月进逼被奢崇明部将樊龙盘踞的重庆。重庆三面阻江,只有城西一面通陆,筑有佛图、二郎两道险关,易守难攻。朱燮元经过精心策划,令川东兵备副使徐如珂率兵绕出佛图关后,与秦良玉合兵攻破重庆,杀樊龙等。接着,又收复了距永宁宣抚司不远的泸州。

    十一月,明廷晋升朱燮元为兵部右侍郎,总督四川兼制湖广军务,仍兼四川巡抚。翌年,即天启三年(1623)四月,朱燮元决计攻占永宁,捣毁奢崇明的老巢。他召集诸将,说:“我久不得志于贼,我以分,贼以合也。” 他改变策略,列营于永宁北面的纳溪,佯作进攻势态,暗中则令大军会集于永宁西北的长宁。部署停当后,即由长宁发起强攻,连破麻塘坎等寨,然后与秦良玉合兵,一举攻克永宁。副总兵秦衍祚等,也攻占遵义。奢崇明父子率残部逃至蔺州(今四川古蔺),再逃至贵州水西龙场(在今贵州修文)客仲坎,投奔奢崇明之妹、水西宣慰使安尧臣之妻奢社辉。朱燮元认为四川已无叛军,未再穷追。奢崇明在贵州安顿下来,与安邦彦的叛军会合,做最后的挣扎。

    安邦彦是贵州水西彝族宣慰使安位的叔父,是“素怀异志”的野心家。万历末年,水西宣慰使安尧臣死后,由年幼的儿子安位袭职,其妻奢社辉代管土司事务。安邦彦一心想取安位而代之,进而据地称王。奢崇明起兵反明后,他即于天启二年(1622)二月挟安位举兵响应。一时间,48名土司各率部应和。安邦彦分兵攻破安顺、平坝、露益(今云南宣威),自统一军进围贵阳,称“罗甸大王”。三月,明熹宗令湖广、云南、广西官军赴援贵州。尚未卸任的贵州巡抚李橒和巡按御史史永安督率贵阳城中守军拼死抵御。十月,明廷任命王三善代李橒为贵州巡抚。十二月,王三善率两万官军分兵三路,向贵阳挺进。安邦彦听说官兵突至,不知人数多少,派人侦察,回报说有数十万之众,仓皇带领护卫逃窜。“贵阳被围十余月,城中军民男妇四十万,至是饿死几尽,仅余二百人。”

    不久,湖广、广西、四川的援兵先后到达,王三善决定继续追击叛军,于天启二年(1622)十二月底令一部屯陆广(在今贵州黔西东),指向大方安位巢穴,一部屯鸭池(在今贵州黔西东南),指向安邦彦巢穴。两路官军仅有汉士兵六万,加上轻敌冒进,先后被数万叛军击败。贵州境内的苗族土司纷纷起兵附和叛军,进据龙里。安邦彦纠其党宋万化等进犯贵阳,被官军击败,宋万化及其妻被擒,安邦彦为之夺气。不久,附和叛军的“群苗复效顺,三善给黄帜,令树营中。邦彦望见不敢出,增兵守鸭池、陆广诸要害” 。后来,奢崇明父子在四川被击败,逃入贵州投靠水西,安邦彦的气焰又嚣张起来。王三善决计合师进剿,但天启二年十月出任贵州总督的杨述中畏贼如虎,他与诸将乃持反对意见,主张实行招抚。王三善坚持己意,于天启三年(1623)闰十月统兵六万渡过乌江,进攻大方。奢社辉及其子安位逃往火灼堡(在贵州西北部),安邦彦逃往织金堡。安位派人乞降,杨述中“许之,令擒崇明父子自赎,一意主抚。而三善责并献邦彦,当并用剿,议不合” 。双方来回谈判几个月,安邦彦乘机重整旧部。在这个关键时刻,王三善又拟实行改土归流,废除土司改设郡县,当地土司和苗民惶恐不安,又纷纷依附于水西,叛军势力复振。孤军深入的王三善久屯大方,陷于乏粮的困境。杨述中拒绝伸出援手,王三善只得在天启四年(1624)正月向贵阳撤退。叛军尾随追击,中军参将王建中、副总兵秦民屏战殁。安邦彦又遣心腹陈其愚诈降,王三善在陈其愚的诱骗下,误入叛军的埋伏圈,“其愚故纵辔衔冲三善坠马”,王三善自刎未遂,为叛贼所擒,“骂不屈,遂遇害” 。

    明廷逐渐意识到,王三善等人的战死,奢安之乱迟迟不能平定,是由于四川和贵州两省的军事行动不相协调造成的。为了统一指挥,天启五年(1625)三月,命令朱燮元以兵部尚书衔总督云、贵、川、湖、广西军务。朱燮元受命奔赴重庆,调遣兵马。安邦彦侦知,拟乘朱燮元发兵之前,于天启六年(1626)分兵进犯云南、遵义,而令奢寅攻打永宁。但奢寅未及举兵,即被朱燮元收买的心腹阿引杀掉。奢寅一死,安邦彦觉得自己年岁已大,难有作为,遂向朱燮元求抚。朱燮元奏报朝廷,得到允准后,派参将杨明辉前往招抚,自己则回浙江山阴老家料理父亲的丧事;但杨明辉奉朝廷制书,“仅招抚安位,不云赦邦彦。邦彦怒,杀明辉,抚议由此绝” 。

    明思宗继位后,忙于清除阉党势力,无暇他顾。到崇祯元年(1628)六月,魏忠贤、客氏和崔呈秀已被清除,《三朝要典》已被焚毁,钦定逆案的名单也在拟定之中,他便重新召回朱燮元,命其仍督云、贵、川、湖、广西军务,兼巡抚贵州,赐予尚方剑,继续负责平定奢安之乱。朱燮元赴任后,大力招抚流移,广开屯种,招募勇士,扩充兵力。他檄调云南兵马下乌撒(今贵州威宁),四川兵马出永宁,下毕节,自己则亲统大军驻扎陆广,以逼大方。另派总兵官许成名、参政郑朝栋由永宁收复赤水卫(今四川叙永县南赤水河北岸)。安邦彦闻讯,派兵分守陆广、鸭池、三岔河(在今贵州织金县东部)诸要冲,另派一军赴遵义。安邦彦自称“四裔大长老”,奢崇明自号“大梁王”,其部将悉号“元帅”,想以水西为根据地,称王西南地区。他们统兵几十万,赴永宁以御川军。行至赤水河,“燮元授意守将佯北,诱深入。度贼已抵永宁,分遣别将林兆鼎从三岔入,王国祯从陆广入,刘养鲲从遵义入。邦彦分兵四应,力不支” 。在天启二年(1622)已投向官军的原奢崇明部将罗乾象,又以奇兵绕出其后进行突袭。安邦彦、奢崇明逃奔永宁五峰山桃红坝的山顶。官军乘雾猛攻,安、奢又大败,最后逃至红土川,于崇祯二年(1629)八月十七日皆负伤而被俘斩。

    安邦彦、奢崇明授首之后,朱燮元“以境内贼略尽,不欲穷兵”,乃檄招安位,安位犹豫不决。朱燮元召集诸将商议,说:“水西地深险多箐篁,蛮烟僰雨,莫辨昼夜,深入难出。今当扼其要害,四面迭攻,贼乏食,将自毙。” 诸将依计而行,四面迭攻百余日,毙敌万余。副将刘养鲲又派人深入大方,放火焚烧安位的宫舍。安位大为恐慌,于崇祯三年(1630)八月派人请降。朱燮元提出四个条件,“一贬爵;一削水外六目之地归朝廷;一献杀王(三善)巡抚者首;一开毕节等驿路” ,安位全部接受,率四十八土目投降,奢安之乱彻底平定了。