康熙二十一年(1682年)十月,清政府平定了“三藩”之亂後,施琅終於在李光第等大臣的力薦下,複任福建水師提督之職,加太子少保銜。他受命返回福建,相機進取台灣。施琅回到廈門後,便“日以繼夜,廢寐忘食,一麵整船,一麵練兵,兼工製造器械,躬親挑選整搠”,曆時數月,使原來“全無頭緒”的水師“船堅兵練,事事全備”。
康熙二十二年六月十四日(1683年7月8日),施琅率領水兵2萬餘人,大型戰船300餘艘,中小戰船230餘艘,從福建銅山(今東山)海域揚帆起程,一路乘風破浪,鋒芒直指台灣的戰略前哨澎湖列島。
鑒於以往的教訓,施琅把選擇出兵的季節、時間、風向等條件作為一件大事,派專人查閱氣候資料並進行了海情和風向、風力的實地觀測。攻台之前,清軍製定了詳細的作戰計劃,但在選擇北風還是南風的風向出兵這個關鍵問題上,軍內存在不同意見。施琅認為:台灣地區高溫多雨,特別是在偏南風向下,風速和緩順暢,因而有利於舟師橫渡海峽。他多次向皇帝上書陳述自己的意見,就南風和北風對航海軍事的影響優劣做了比較。他說:“乘夏至南風成信,當即進發搗巢。蓋北風剛硬,驟發驟息,非常不準,難以預料;南風柔和,波浪頗恬,故用南風破賊,甚為穩當。”他的理由最終說服了康熙帝和其他將領。
施琅把平台的首選目標定在澎湖是有其原因的。台灣本島地域狹窄,缺乏戰略縱深,澎湖就成為其外圍防禦的惟一屏障。台軍主帥劉國軒也認識到了這一點,將台軍主力悉數擺在澎湖,並建立了堅固的防禦工事,還在媽宮、風木匝尾、西嶼頭、牛心灣等要衝地點加築炮城14座,沿海築造高牆深溝20餘裏,安設銃炮,準備與清軍決戰。麵對台軍的嚴防死守,施琅采取了靈活的作戰方針,將清軍分為三路,以左右兩翼牽製敵人,主力居中直搗敵陣船隊。
7月9日,清軍到達澎湖八罩島(今望安島),並停泊於此。從10日起,清軍向澎湖島台軍發起攻擊。清水軍迅速利用有利的西南風向條件,使用“五點梅花陣”,用多艘戰船圍攻台軍一艘,集中兵力作戰。“炮火矢石交攻,有如雨點,煙焰蔽天,咫尺莫辨。”清先鋒藍理率7船衝入台軍中,共擊沉、焚毀鄭氏船隻14艘,焚殺鄭氏官兵2000餘人。這時的劉國軒卻缺乏主動進攻精神,把勝利希望完全寄托在颶風上,因而幾次坐失了主動出擊的良機。澎湖一戰,清軍先後焚毀、擊沉和俘獲台軍大小船隻近200艘,殺死台軍將領、頭目300餘名,士兵12000餘名,另有165員將領和4800名士兵倒戈投降。劉國軒隻是仰仗地形熟悉,才從水淺礁險的吼門島嶼乘水漲風順之時,帶領31艘小船逃回台灣。此役,清軍陣亡官兵329人,負傷1800餘人,船隻毫無損失。施琅一戰定澎湖,殲滅了台軍精銳部隊,打開了台灣島的門戶,鄭氏敗局已定,島內人心大震。
清軍澎湖之戰之所以取勝,與施琅的指揮得力是密不可分的。施琅曰:“夏至前後二十餘日,風微,夜尤靜,可聚泊大洋,觀釁而功,不過七日,舉之必矣。”因此,在渡海時間上,他敢於選在多台風,刮西南風的7月上旬出航。在渡海的航路上,施琅把出航點選在靠南的東山島,這樣可以利用盛行的西南風,使戰船始終處於順風順流的有利陣位。在氣象科技尚不發達的17世紀,施琅就能如此靈活地運用氣象資料,趨利避害,因勢利導,取得清朝著名的澎湖之戰勝利,真是難能可貴。