明萬曆二十八年1600年正月12日,叛賊首領:楊應龍,統兵數萬,從五路攻陷了貴州承宣布政使司石阡府龍泉坪長官使司,逼得朝廷訥各布政司人馬會剿。
由明湖廣川貴總督:李化龍,統帥八路大軍,其中;川軍分四路、黔軍分三路、楚軍分一路,明貴州巡撫:郭子章,駐守貴州承宣布政使司貴陽府、明湖廣巡撫:支可大,移駐銅仁府就近督陣。
2月12日,明軍分道並進,每路約為三萬人馬,官兵十分之三,土司兵十分之七,明湖廣川貴總督自將中軍策應,經過一百一十四天激戰。
2月15日,明湖廣總鎮總兵:陳璘,率領明湖廣總鎮左參將:陳良玭,與播州叛亂首領:楊應龍,之子:楊朝棟,交戰,賊軍受挫,逃到龍溪山會和其餘叛軍繼續抵抗明軍。
明湖廣總鎮總兵在安撫完苗民之後,就進軍龍溪山,在偵察後又得知敵人有埋伏,隨即就命令明廣州海防右參將:陳策,用火器攻打,叛軍居高臨下。
但明湖廣總鎮總兵卻悍不畏死,首先登山,殺死後退的校旗官示眾,還命眾將士奮勇而戰,敵軍大敗而逃。
其中明湖廣總鎮總兵的二個左右參將追擊而去,中叛軍埋伏戰死。
於是明湖廣總鎮總兵就招募了敢死隊,跟隨明赤水衛把總:吳應龍,等人猛攻,叛軍逃到山頂,晚上又逃到袁家渡。
次日又被湖廣明軍擊敗,至此四牌的匪徒全部被消滅。
2月18日,貴州承宣布政使司皮林裡百姓:吳國佐,桀黠無賴,其叔:吳大榮,因叛變被殺,吳國佐卻收其妻,為此而遭官府的緊急追捕。
可吳國佐本有異誌,得到官府將逮捕後,他集眾起事自稱為「天皇上將」其黨石纂太,自稱〈太保〉還殺明五開衛百戶:黃鐘普,等又與吳國佐合攻入上黃堡。
明五開衛左參將:黃衝霄、明永從縣守備:張世忠,等統兵討伐,吳國佐詐降設伏,使得明五開衛左參將大敗。
隨後吳國佐追至永從縣,殺死明永從縣守備等千餘人,並劫掠屯、堡七十餘座,還焚燒五開衛南城,又攻陷了永從縣,並出兵圍中潮守禦千戶所。
3月15日,明湖廣總鎮總兵得知賊首:張佑、謝朝俸、石勝俸,等人在七牌野豬山安營,於是連夜行軍渡烏江抵達苦練坪,前後夾擊之下,敵軍逃入深山老林之中。
於是明湖廣總鎮總兵便進入苦菜關,聽聞前任明貴州總鎮總兵:童元鎮,在烏江戰敗心生恐懼,請求撤退被明湖廣川貴總督否定。
隨後明湖廣總鎮總兵就進軍楠木橋,駐紮在湄潭河,時匪徒全都聚集在青蛇屯、長坎屯、瑪瑙屯、保子屯,四座屯子裡,地勢都很險要,明湖廣總鎮總兵首先攻擊其餘三屯,然後在進攻青蛇屯。
此時明湖廣總鎮左參將也來會師,被調到青蛇屯後埋伏,另外派一支部隊把守板角關,防止敵人逃跑,經過三天苦戰,明軍攻占了三屯,又用重金收買不怕死的人從瑪瑙屯後麵爬著樹藤到山後架起虎蹲炮開火。
嚇得叛軍大亂,明軍奮戰之下,全殲了七牌的匪徒。
然而明湖廣總鎮左參將統兵進剿失利,退駐到湖廣承宣布政使司靖州,而當前明軍方正集結大軍征討四川承宣布政使司播州宣慰使司,故此已無暇對付叛賊天皇上將:吳國佐,讓其勢力益張。
明四川總鎮總兵:劉綎,進軍重慶府綦江縣連破楠木山和羊簡台、三峒天險又打敗叛賊首領:楊應龍、楊朝棟,所統的苗軍,而巾幗英雄:秦良玉,與丈夫明石柱宣撫使:馬千乘,率兵攻下金築七寨同酉陽宣撫使司土司軍一起攻下桑木關為南川路戰功第一,其他幾路明軍也都取得勝利。
其後明四川總鎮總兵又攻占了婁山關,而叛賊首領率領苗軍決一死戰又敗。
接著明湖廣總鎮總兵又分兵六路,攻克了大小三渡關,乘勝直達海龍屯之下,這時明四川總鎮總兵已占據播州宣慰使司天險之地;龍爪屯、海雲屯、海龍屯,與各路明軍合圍,又破大城縣,各路明將都聚集攻擊海龍屯前陣。
唯獨明貴州宣慰使兼貴州布政司左參議、懷遠將軍、定遠侯:安疆臣,在後方攻擊,戰局了四十多天相持不下。
其中貴州宣慰使司部眾還接受播州宣慰使司叛軍的重禮賄賂,偷偷地把明軍火器輜重送給叛軍。
此事被明湖廣總鎮總兵知曉後,當即就勒令明貴州宣慰使後撤三十裡,湖廣明軍也轉移到彆處,並在距離海龍屯一丈多遠的地方安置了一百多個鐵牌,使叛軍強勁的弓箭失去了作用。
還用竹子削成箭板安放在柵欄前麵,使得叛軍每天晚上出來作亂,都被竹箭板釘傷,於是不敢外出。
叛軍首領:楊應龍,也意識到了這種山窮水儘的地步,他和部下在一起哭泣,明湖廣川貴總督則當即下令,讓各路將領分開時間輪番進攻。