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