因宁夏叛乱迟迟未能平定,浙江道御史梅国桢认为山西总兵官李如松有大将之才,他的弟弟李如梅、李如樟也都是少年英杰,因此向朝廷推荐让他去平乱。有人认为李如松手握重兵,担心他心怀不轨,不应该引狼拒虎。但梅国桢大力保举李如松,称其忠勇,可堪大任,于是明神宗决定起用李如松,任命他为提督山西讨逆军务总兵官,梅国桢为军监,赶赴宁夏。此外,朱正色被推为宁夏巡抚。甘肃都御史叶梦熊上书表示愿意讨贼,明神宗遂诏令朱、叶二人,协助李如松赴宁夏。
五月,宁夏巡抚朱正色渡过黄河督战,他根据明神宗的命令颁赏将士,全军士气踊跃。叛军听说了,就欺骗官军乞求投降。曾任宁夏总兵的张杰与哱拜有交情,朱正色便派他进城招安。得到朱正色的命令后,张杰单骑进入叛军据守的宁夏镇城,重重责备了哱拜。之前,总督魏学曾派家丁叶得新入城,离间叛军伪总兵刘东旸、伪右副总兵许朝与叛军谋主哱拜的关系,但是失败被捕。许朝等张杰来了以后,就向他叙述叶得新试图用反间计杀掉哱拜的经过,为此愤愤不平。张杰不信,许朝就把叶得新抬了出来,让他吐出实情。结果叶得新对许朝破口大骂,许朝恼羞成怒,拿刀杀死了叶得新,又把张杰拘禁了起来。
此时,官军已平叛数月,却始终未能攻克叛军占据的宁夏镇城。为加快平叛速度,明神宗特赐总督魏学曾尚方宝剑,违者立斩。
六月,甘肃都御史叶梦熊从甘州押运400多车火器到达灵州,他申明军纪,增派苗族军队助战。浙江巡抚常居敬在浙江招募千人,自备粮草,也进入宁夏参与平叛。援军新集以后,官军分为五路攻打叛军据守的宁夏镇城:董一奎攻打城南,牛秉忠攻打城东,李昫攻打城西,刘承嗣攻打城北,麻贵率领游军策应。
六月二十日,官军一齐进逼至宁夏镇城下。哱拜自北门出战,欲亲自去请河套蒙古部落的援军。但麻贵率领参将马孔英抢先冲杀敌人,追击哱拜,迫使其回城,此役擒斩叛军117人。在此之前,哱拜为巩固与河套蒙古部落的关系,整天待在对方酋长著力兔的帐中,方便双方调动军队。但这时,叛军不能出城,河套蒙古部落见不到哱拜,也就没有再渡过黄河深入。
六月二十二日,军监梅国桢、提督李如松统率的辽东、宣府、大同、山西军抵达战场,军势大振。叛军大为震动,躲在城里不敢出来,又向官军投下了降旗。梅国桢在城南接受了降旗,叛军进一步请求当面归顺,得到梅国桢应允。伪总兵刘东旸、伪右副总兵许朝在叛军士兵的保护下,从梯子上翻下城墙。城下的叛军士兵严密保护着刘东旸、许朝二人,剑戟发出耀眼的光芒。城上的叛军也拉弓引弦,注视着二人的安危。但梅国桢毫无畏惧,策马上前。许朝大惊,不自觉地屈膝跪倒。然而叛军没有投降的诚意,很快又回到城里负隅顽抗,官军因此决定全力攻城。
六月二十五日,官军用3万布袋盛土,垒出高台,成功登上宁夏镇城的城墙,但被叛军用炮石击退。第二天,游击龚子敬率领苗族兵马进攻南关,李如松想趁势攻入城中,却又被叛军用炮石击退。官军稍停攻击,以便休息进食,叛军就趁机出城抢夺官军的云梯、盾牌,放火焚烧攻城器械,使官军攻势受挫。
由于总督魏学曾督战数月,迟迟未能镇压宁夏叛军,因此被给事中许子伟弹劾,说魏学曾被叛军假意投降所迷惑,未能取得成功。于是朝廷在七月罢去魏学曾总督一职,令甘肃都御史叶梦熊代替魏学曾,赐尚方宝剑如故。
而在宁夏镇城的叛军阵营中,也发生了内变。指挥赵承光、葛臣、戚钦,武生张遐龄,百户姚钦等人,与城外官军取得联络,并与官军秘密相约,愿意作为内应。他们与官军约好,半夜在宁夏镇城楼的四面并举烽火,城下的官军见到烽火后就立刻爬上城墙。
到了约定的时间,赵承光等人在宁夏镇城楼上举起烽火,谯楼上的烽火一下子就亮了起来,南城的烽火也跟着亮了起来。赵承光等人在城中擂鼓,大呼杀贼。叛军早已经发觉,把赵承光、戚钦等人捆绑起来杀害了。尽管及时杀死了“内贼”,叛军还是受到了惊吓。伪右副总兵许朝想开小南门逃走,因为城外官军严阵以待而不敢出城,这时候城中粮食将尽,叛军锐气大减。
七月二日,伪右副总兵许朝等人来到南关,请求与宁夏总兵董一奎恳谈,但是未能成功。之前被叛军劫持的佥事隋府,则趁机同家人带着官印从城上跃下,结果隋府因胳膊受伤而不能起来。叛军发现后出城,把隋府抓回下狱。
七月三日,总督叶梦熊与监军梅国桢确定计策,认为应该决开黄河大坝,将黄河水灌进宁夏镇城。这与丰臣秀吉水淹高松城,用的是同一招。决策既定,官军就绕宁夏镇城筑堤,历经14天,终于在十七日筑成,长1700尺,之后便决水灌城。
在官军对宁夏镇城用水攻之前,哱拜派出其养子克力盖,前去河套蒙古部落的酋长著力兔处求援。提督李如松刺探到这个情报,命裨将李宁追杀克力盖,缴获信符、令箭。但是不知道是什么原因,河套蒙古部落的另外两个酋长,庄秃赖和卜失兔,突然集合3万人攻入大明境内。他们派出一个叫土昧铁雷的手下,作为先锋去侵犯定边、小盐池。
无论河套蒙古部落是在未接到哱拜求援的情况下突然入侵明境,还是因为通过某种渠道收到了哱拜的求援才出兵,都确实对哱拜起到了侧翼援助的作用。此外,河套蒙古部落还有另外一个酋长,叫作打正,他之前与哱拜有过一次合作的经历,这次也从花马池西的沙湃口出发入寇明境。
为了对付河套蒙古部落,总督叶梦熊派遣麻贵去迎击打正,另派董一元去捣毁土昧铁雷藏身的地方。麻贵出击后,在石沟一地与打正交战,打正失利退去,分兵趋向下马关、鸣沙州。而董一元这边,也找到了土昧铁雷,他杀敌130多人,之后夸大战绩,向叶梦熊报告说斩首3000余级。河套蒙古军闻讯大惊,全部引兵退去。叶梦熊派遣游击龚子敬率领苗族军队800人,在沙湃口堵截打正的退路。苗族军队冲锋在前,但由于人少不敌,被围十余匝,龚子敬奋力作战而死,全军覆没。虽然龚子敬战死,但河套蒙古军最终还是退去了,宁夏叛军外援断绝。
在击退了河套蒙古部落后,官军便加速开决大坝水,用水来灌宁夏镇城。八月一日,宁夏镇城外的水深八九尺,整个城的外围都被水淹了。为了突围,叛军当夜乘坐小船挖堤放水,被官军擒杀16人、俘虏1人。据俘虏交代,城中缺乏粮食,军士皆食马肉,马还剩500多匹,百姓只能吃树皮,死亡人数不断上升。
但由于官军筑造的堤坝被叛军部分毁坏,到了第二天,城东、城西的大堤崩溃了100余丈,都司吴世显、参将来保所筑大堤也各崩溃20余丈,水顿时减少。总督叶梦熊斩吴世显以警示众人,来保则凭借先前在灵州立下的战功而免罪,继续全力修补大堤。叛军几次出兵来骚扰,都被官军斩杀、俘获。而这时候,河套蒙古部落又入寇明境,出兵来救援宁夏叛军。
八月二十一日,河套蒙古部落的酋长著力兔派800骑兵入侵镇北堡,又派兵1万入侵李刚堡,之后分兵渡过黄河。提督李如松派裨将李宁飞驰赴黄峡口,迎击河套蒙古军,自己则率领精兵千余人策应。李如松行军至张亮堡时,与河套蒙古军遭遇,与之搏战。两军从卯时打到巳时,因为敌寇实在强锐,明军未能将对方击败。为了振奋士气,李如松持剑杀死了两名行动迟缓的士兵。正好麻贵和李如松的弟弟李如樟等人赶到,明军纵左、右两翼夹攻敌寇,于是河套蒙古军战败而走。明军追杀至贺兰山,河套蒙古军全部逃往塞外。追击中,明军捕杀了120余人,缴获骆驼、马匹无无数。之后官军将蒙古兵首级出示给叛军,叛军为此感到丧气。
九月三日,参将杨文率领浙江兵抵达战场,来支援官军。过了不久,苗兵、庄浪兵也抵达了战场。官军再次得到援军补充后,大规模整顿攻城器械,定下攻城期限。总督叶梦熊在军中张贴告示,称最先冲到城下的,赏赐万金。
五天以后,因为被水浸蚀的关系,宁夏镇城的北关城墙崩倒。守卫北关的叛军将领薛永寿等人认为大势已去,于是与官军约为内应。官军趁机定下声东击西之计,假装调集船筏进击北关。伪左副总兵哱承恩、伪右副总兵许朝不知是计,急赴北关督兵鏖战。这时候,提督李如松、参将萧如薰率领精锐掩杀南关,已经70岁的牛秉忠,凭借勇力率先登上南关。军监梅国桢以此激励将士奋战,于是官军士气高涨,争相登上南关。但随后,叛军退据内城,官军攻打了几天也无法攻克。
即便如此,伪左副总兵哱承恩还是大为丧气,连忙把之前俘获的官军劝降使者张杰送出城去,请求官军饶他们不死。因为叛军反复无常,总督叶梦熊假装允诺,但是暗中继续治办攻城器械,并再次派人进城离间叛军头目。
九月十六日,官军围攻越发紧迫。由于长期被围,叛军内部难免意见不合,于是被官军成功离间,很快因私事产生矛盾,在绝境中相互猜疑,自相残杀。先是伪总兵刘东旸杀死伪左参将土文秀,后是伪左副总兵哱承恩与刘东旸的部下周国柱密谋,哱承恩杀死了伪右副总兵许朝,周国柱又杀死了他的长官刘东旸。
到最后,叛军主将只剩下了哱氏一族。哱承恩不敢再负隅顽抗下去,他将刘东旸、许朝、土文秀三名叛军首领的首级悬挂在城楼上,向官军显示投降的诚意。官军望见后,士气大为振奋,提督李如松、参将杨文率先登城,萧如薰、麻贵、刘承嗣等人随后跟上,宁夏镇城全部平定。此时,哱氏仍然拥有家丁组成的军队,总督叶梦熊在灵州听说后,急忙传令次日早晨一定要灭掉哱氏。
第二天早晨,身为败军之将的叛军头目哱承恩去南门拜见军监梅国桢。梅国桢一出来,参将杨文就抓住了哱承恩。李如松急忙率兵包围哱拜家,哱拜和他的家丁仍然想要抵抗,李如松便举起弓箭,喝令哱拜等人放弃抵抗。哱拜走投无路,仓皇上吊自杀。李如松之弟李如樟的部将何世恩在火中砍下了哱拜的首级,官军又生俘哱拜次子哱承宠、养子哱洪大,以及同党土文德、何应时、陈雷、白鸾、陈继武等人。总督叶梦熊、巡抚朱正色、军监梅国桢等随后进入宁夏镇城中,慰问宗室、官吏、百姓。叶梦熊为斩草除根,下令将哱拜的同伙和投降的2000余人就地处死,而哱氏一族的叛乱首脑则被献俘到北京。宁夏叛乱就此宣告平定,官军向朝廷报捷,明神宗登殿受群臣祝贺。
之后,明神宗下诏处死哱承恩、哱承宠、哱洪大、土文德等人,又下诏慰问被叛军劫持的宁夏庆王,免除宁夏田租,并大赏平叛功臣,允许叶梦熊、朱正色、梅国桢的子孙世袭官职。武臣李如松功劳第一,加封宫保。其余人,如萧如薰、麻贵、刘承嗣、李如樟、杨文、牛秉忠等也陆续受封,并追赠战死的龚子敬为都督佥事。
宁夏叛乱告平后,明朝终于免除了在宁夏、朝鲜两线作战的巨大隐患,可以倾力对付侵略朝鲜的日军。而在宁夏之乱中参与平叛的李如松、麻贵、董一元,都将陆续登上救援朝鲜的历史舞台。