嚣呼达旦”,马芳却不慌不忙,命部下堂而皇之打开马莲堡城门,自己却在军帐里安然静坐,对蒙古军的挑衅充耳不闻。虚虚实实下,蒙古军果然上当,叫嚣整夜,却不敢贸然进攻。
“空城计”终为马芳赢得了宝贵的反击时间,次日上午,马芳亲临阵前观察,判定蒙古军正准备撤退,马芳立刻下令全军追击,先命火器齐轰,然后全军出击,明军“喊杀冲突,悍勇不可挡”。猝不及防的蒙古军再次大溃,不但被马芳追杀数十里,更被赶进了明军早已设伏良久的大同,延绥两镇精兵乘机出动,一路奋勇追杀,“沿途斩首俘获甚重”,阿勒坦再次大败。此情此景,诚如战后在杨博的奏折中所言:“此役同仇敌忾,追歼逐北,其酣畅淋漓,为九边罕见也。”对马芳,杨博更赞不绝口,称其“以汉李广之智勇,首挫寇之兵锋,当为头功也。”
万全右卫之战胜利后五个月,世宗驾崩,其子穆宗朱载垕登基即位,次年改年号为“隆庆”。穆宗即位初期颇有作为,对北部边防大力整治,而马芳也复职左都督。阿勒坦连续对蓟镇、宣府、大同、固原诸重镇发动了七次侵扰,明军严防死守,皆迫使阿勒坦无功而返,受挫之下,阿勒坦依其属下献策,经仔细筹谋,命其子辛爱率五万骑兵佯攻蔚州,待马芳中计出击后,再派精锐骑兵乘虚攻击宣府,企图重演嘉靖四十二年闪击宣府的先例。但马芳并未中计,当蒙古军奔袭至宣府后,不但见宣府重镇已经严阵以待,马芳更砍伐周边树木在城墙周边环列成栅栏,组成一道遏制蒙古骑兵突击的防线。阿勒坦见状,只得率军北撤。马芳却仍率军尾随追杀二百里,终于在长水海大破阿勒坦主力。
阿勒坦在马芳回师后,立刻集结重兵,再次发动进攻。阿勒坦兵锋逼近时,马芳尚在吃饭,闻讯后马芳当即“掷碗碟于地”,对众将大呼“且随我夺虏食”,立刻率兵出战,在内蒙古鞍子山与阿勒坦军相逢,再次击破阿勒坦,迫使其撤还。战后,马芳命人烹制美食,与此战中阵亡将士的尸骨一起下葬,时任宣大总督的陈其学闻之感叹道:“爱兵如此,方有虎师也。”
宣府遇挫后,阿勒坦转而对邻近宣府的大同地区发动进攻。而宣大总督陈其学判断失误,命大同总兵赵苛将重兵屯守在紫荆关,虽一度击退敌军,却反被阿勒坦避实击虚,绕开紫荆关攻入怀仁、山阴等地区。陈其学在盛怒之下,命时任宣府总兵的马芳与大同总兵赵苛换防,让马芳率军防备阿勒坦,而阿勒坦却转而强攻宣府管辖的威远地区,待到马芳率军驰援时,阿勒坦又率军北撤。
面对阿勒坦的侵扰,马芳决定主动出击,如他对诸将所言“非大创之不可”,马芳探知阿勒坦将主力屯于咸宁海子,随即集中全部主力出击,战前马芳严令三军,全军弃掉辎重物资,每人仅带三日口粮,以示死战之心,全军开拔,一路上“人噤声,马衔枚”,悄无声息高速急行军,抵达咸宁海子外围时,阿勒坦竟毫无察觉。凌晨马芳发动总攻,先以火器攻击,马芳的“家兵”从阿勒坦大营两翼奇袭,马芳率主力正面突击,另有一支精骑在阿勒坦逃路上截杀,阿勒坦再次中计,马芳军四面合围,驰突奔杀,阿勒坦军仓皇弃营,踩踏砍杀殒命者甚重。经一夜血战,阿勒坦终于不支而逃,明军紧紧追赶,从咸宁海子一路向西追杀数十里。
此战阿勒坦伤亡甚重,仅被擒的部落首领就有十数人,缴获战马辎重无数,史称“大创之”。刚刚就任宣大总督的王崇古阅罢战报后当场大喜道:“大同可暂无事也。”
因阿勒坦强娶其孙把汉纳吉的未婚妻乌纳楚,把汉纳吉一怒之下竟带部下家人数十人至大同投奔明朝,阿勒坦闻讯后震怒,立刻率领十余万骑兵杀至大同外围,企图用武力逼迫明朝交出把汉纳吉。但因马芳严防死守,阿勒坦丝毫未占到便宜,而王崇古深谋远虑,一面妥善安置把汉纳吉,一面