鄭成功及其子鄭經在收複台灣後,仍然用南明永曆年號,以明朝遺臣的身分繼續同清廷對抗。但是,清朝政府經過入關之後數十年的統治,已經完全鞏固了其地位,國內滿漢之間的民族矛盾也已趨於緩和,台灣鄭氏實際上成為阻礙國家走向統一的一股割據勢力。早在康熙初年,統一台灣的問題已經提到清朝統治者的議事日程上來,隻是由於掌握實際權力的鼇拜集團以為“海洋險遠,風濤莫測,馳驅製勝,計難萬全,”才被擱置下來。
“三藩”之亂爆發後,鄭經乘機率軍進攻福建等地,客觀上起了側應吳三桂叛軍的作用,增加了清軍平息叛亂的困難。直至康熙十九年(1680年)夏,鄭經軍連遭失敗,才再度退歸台灣。
康熙二十年(1681年)初,鄭經病逝於台灣,其子鄭克壤監國。鄭經的親信侍衛馮錫範等人為了爭奪權力,誘殺了鄭克壤,又奉鄭經年幼次子鄭克塽繼位。此後台灣地方大權落入馮錫範與劉國軒二人手中。鄭氏集團內部爭權奪利的鬥爭削弱了自己的力量,島上人心不穩。
這年六月,康熙帝在確知鄭經已死和台灣統治集團內亂的消息後,即諭令福建總督姚啟聖、巡撫吳興祚、提督諾邁、萬正色等人乘機進兵台灣、澎湖。但由於當時進軍準備尚不充分,水軍提督萬正色等人對進取台灣又存有疑議,這次軍事行動沒能立即實施。稍後由於內部長學士李光地的薦舉,康熙帝決定任用熟悉海上情況,並曾為鄭成功部將的施琅,於七月任命他為福建水師提督總兵官、加太子太保,率軍進攻台灣。
康熙二十一年(1682年)正月,施琅至福建上任,即於廈門調集軍隊,修整船隻,積極準備攻台。台灣方麵得知情況,也加強了防備,以劉國軒統兵六千人鎮守海上要衝澎湖。
康熙二十二年(1683年)六月,施琅率軍由銅山(今東山)出發,進軍澎湖。這時澎湖的劉國軒部已增兵至二萬,戰船二百餘艘,而且在岸上和外布列了大炮和炮船,防禦體係相當堅固。十六日,清軍發起進攻,劉國軒迎戰,雙方各有傷亡。施琅首戰不勝,隻得暫時退兵,集全軍船隊於八罩嶼。二十二日,施琅再次發動進攻,派總後官陳蟒、董義等分別率船攻打牛心灣、基隆嶼,作為偏師和疑兵,自己則率大船五十餘艘居中直衝娘媽宮。劉國軒親率船隊迎戰。雙方自辰時開戰,炮火交攻,極其激烈。至巳時,南風忽起,施琅命乘風放火,鄭軍於是大潰,戰船大量被擊沉焚毀,一些將士陣前投降,劉國軒僅率殘餘的31隻大小船隻自吼門逃走。澎湖36島於是全部剃發歸清。
澎湖的失陷引起台灣鄭氏當局的極大恐慌。七月二十七日,鄭克塽正式向清軍遞降表,台灣自此統一於清朝。
施琅在台灣也采取了安民措施。八月十三日,施琅率軍來到台灣,頒布《諭台灣安民告示》,提出“土地既入版圖,則人民皆屬赤子,保義撫綏,倍常加意”。又嚴束部隊,不許擾民。台灣全局於是安定如常。
在平定台灣鄭氏之後,清廷內部對於如何處置台灣這個島嶼發生過分歧。一部分人主張徹底放棄台灣,遷其人,棄其地,而以兵力駐防澎湖。施琅則力主堅守台灣。他的數次上疏陳述利害,建議留守台灣。
清廷最後做出決定,在台灣設置台灣府,隸屬福建省,康熙二十三年(1684年)春,清朝駐台灣的第一批文武官員全部就職。