隆慶元年(1567年)九月,蒙古右翼土默特部俺答汗率軍攻破長城,劫掠山西沿邊邊民數萬人。俺答汗的入寇充分暴露了北方明軍戰力低下、守備糜爛的弊端,為加強北方防務,隆慶二年(1568年)二月,明穆宗朱載垕(即隆慶皇帝)提拔平定東南沿海倭寇之亂的抗倭名將戚繼光為神機營副將,同年五月,朱載垕以戚繼光總理薊鎮、昌平、保定練兵事務,受命節制以上三鎮所有明軍。
接到詔書後,戚繼光馬不停蹄地率領自己在浙江、福建沿海與倭寇作戰的精銳主力3000名戚家軍北上,駐防薊鎮。薊鎮系大明九邊重鎮之一,其防區為東起山海關,西至居庸關的1200里長城防線,是拱衛京師北京的重要防線,戰略位置極為重要。戚繼光到了薊鎮後,發現當地明軍戰力低下、作風散漫。於是,戚繼光以所帶來的3000名戚家軍為模板,對薊鎮明軍進行整訓。
浙兵(戚家軍)三千至,陳郊外。天大雨,自朝至日昃,植立不動,邊軍大駭,自是始知軍令。——《明史》
在戚繼光高強度的訓練下,駐防薊鎮的明軍迅速脫胎換骨,戰鬥力爆棚,多次出關暴打蒙古騎兵,使得蒙古騎兵數十年不敢南下叩關。也許有人有疑問,都是兩個肩膀扛一個腦袋,憑什麼戚家軍的戰鬥作風就這麼硬朗,其他的明軍就不行,其實原因很簡單,戚家軍工資高。當時戚家軍實行的募兵制,軍人所有開銷皆朝廷解決,工資和福利待遇更是普通明軍的3倍以上,優厚的待遇保障了戚家軍強悍的戰力。不同於實行募兵制的戚家軍,普通明軍主要是由軍戶中產生,他們沒有工資,就連最起碼的土地也被軍官們強佔,軍人待遇低下,甚至連溫飽都無法解決,自然無法形成強大的戰鬥力。
針對這一現象,戚繼光一方面向朝廷爭取經費;一方面整頓軍戶軍屯,打擊侵佔軍戶土地現象,使得薊鎮駐軍的待遇水平顯著提升,軍隊戰鬥力自然而然也就水漲船高。萬曆十一年(1583年),戚繼光因朝廷政治鬥爭傾軋被貶廣東,部下吳惟忠、陳文良、吳大績等隨往,但3000名戚家軍仍舊留在薊鎮防禦北方蒙古人,為大明守護北大門。萬曆十五年(1587年),戚繼光去世,這位將戚家軍一手帶入輝煌的晚明第一名將退出歷史舞臺,這個留在北方的戚家軍的前途蒙上了一層陰影。
萬曆二十年(1592年),日本實際統治者豐臣秀吉組織25萬日軍入侵朝鮮半島,計劃以朝鮮半島為跳板入侵大明。萬曆皇帝力排眾議從全國各地徵調4萬精銳明軍東征朝鮮。當年十二月,戚繼光生前的部將、戚家軍最後的名將吳惟忠奉詔率駐防薊鎮的3000名戚家軍遠征朝鮮。萬曆二十一年(1593年)正月,吳惟忠率領3000戚家軍勇士攻破日軍重點防守的平壤制高點牡丹峰,斬殺日軍數千,取得平壤大捷的首功。
平壤大捷後,明軍迅速收復朝鮮半島北部。因為寧夏叛亂,明軍在朝鮮最高指揮官李如松轉戰西北戰場,同時因為朝鮮戰局的稍微平緩,萬曆皇帝重新徵調新的明軍入朝,讓先前赴朝作戰的明軍歸國休整。當吳惟忠接收到新來的3000浙兵(重新在浙江招募的戚家軍)後,原先薊鎮戚家軍則由副將率領返回薊鎮休整。
根據明軍慣例,凡是取得大勝後,就要照例對軍人進行賞賜,此次戚家軍在平壤之戰中立下奇功,理應獲得重賞,實際上萬歷皇帝也從內帑(皇帝的私房錢)撥了一筆資金給戚家軍,但被薊鎮總兵王保截留,更有甚者,王保還剋扣戚家軍軍餉。此舉徹底激怒了戚家軍將士,這些戚家軍勇士血戰萬里,卻遭如此戲弄,怎能不惱怒,於是他們開始譁變,繼而成為兵變。為平定事態,王保假意答應補發賞金和工資,實際在暗中調兵,將戚家軍包圍繳械,並處死了1300餘人,是為薊鎮之變,也稱薊鎮兵變。
平壤南兵撤回時,以王賞不給(如松攻平壤時約先登者給銀萬兩,南兵果先登)鼓譟於石門寨。保誘令赴演武場,千三百名保盡誘殺之,以反聞。人心迄憤惋,故招募鮮有應者。”——《明史》
而後,王保反而顛倒黑白,誣陷戚家軍謀反,王保反而因此受到提拔,此舉徹底寒了戚家軍的心也寒了大明軍隊的心。薊鎮之變後,曾經那支聲動天下的勁旅遭到毀滅性打擊,雖然後來幾經重建,但再無曾經的精氣神,薊鎮之變可謂大明軍界最大的悲劇,一個王朝如此對待為自己浴血奮戰的軍人,這個王朝也就徹底沒救了。