1648年(順治五年、永曆二年)四月[83],清兩廣提督李成棟反清複明,這是繼金聲桓、王得仁江西反清之後又一件震動全國的大事。李成棟曾經參加明末農民起義,綽號“李訶子”[84],長期跟隨李自成的部將高傑(綽號“翻山鷂”),後來隨高傑投降明政府,弘光時任徐州總兵。1645年高傑在睢州被許定國刺殺,清兵南下時,李成棟奉高傑的妻子邢氏投降了清朝。在清廷進兵江南的過程中,李成棟奉命率部沿江蘇、浙江、福建、廣東、廣西一線進攻,為清方收取了大片疆土。特別是在清方第一次進攻廣東和廣西部分州縣的戰役中,李成棟起了關鍵作用。他自以為功勳卓著,兩廣總督一職非己莫屬。不料清廷在任用漢人官職上總是優先選用所謂遼人。同李成棟一道從福建入廣的漢軍總兵佟養甲屬於遼陽世家,這個家族自明初以來不少人擔任過衛所軍職。努爾哈赤進攻撫順時,他的同族兄弟佟養正叛變投降,佟氏家族因此遭到明政府的嚴厲迫害,一部分在遼陽被殺,一部分押進山海關內拘禁。佟養甲的父親佟進被押進關內受冤而死,養甲為避禍計改姓名為董源投入左良玉幕下謀得一個督理鹽餉的差使。1645年清軍南下,他投靠清朝,恢複姓名,立即受到滿洲貴族的信任[85]。占領廣州以後,盡管他沒有多少軍隊,也沒有多大戰功,卻被任命為兩廣總督兼廣東巡撫[86],李成棟隻被任命為兩廣提督,不僅無權過問地方政務,而且在軍事行動上還要接受佟養甲的調度和節製,兩人原先的同僚地位變成了上下級關係[87]。清廷重用“遼人”而做出的不公平的待遇,對於野心勃勃的李成棟是難以忍受的,內心的不滿逐漸積累起來。到1648年正月江西提督金聲桓、副將王得仁反清歸明的消息傳來時,李成棟認為時機成熟,決定反正易幟。四月十五日,他在廣州發動兵變,剪辮改裝,用永曆年號發布告示,宣布反清歸明;總督佟養甲倉皇失措,被迫剪辮,違心地附和反正[88]。廣東全省都在李成棟的部將控製之下,各州縣官員望風歸附。廣西巡撫耿獻忠也在梧州同梧州總兵楊有光、蒼梧道陳軾率部反正,並且立即派使者進入南明轄區報告兩廣反清歸明,接著李成棟的使者帶來了正式賀表和奏疏。當時,永曆朝廷正處於艱難窘迫之中,廣東全省和廣西已失府州的突然反正簡直是喜從天降,開初都不敢相信,經過幾天的探聽,特別是原已降清的廣西巡撫曹燁、高雷巡撫洪天擢等人前來朝見,說明原委,永曆君臣才解除了疑慮,頓時一片歡騰,收拾逃難行裝,準備重整河山了。