清军入关后,为笼络汉人,安抚投降的明军将领,先后分封吴三桂为平西王,耿精忠为靖南王,尚可喜为平南王,分别镇守云南、福建、广东三省,此即为清初“三藩”。他们本为明朝辽东边将,后来降清。或开关迎接清军进入山海关,或为其南征北战,镇压人民的反抗和抗清势力,立有战功。清在北京建立中央政权之后,他们因功被封为王,享受高官厚禄,作为清朝控制南方边远地区的藩篱。他们利用这一机会,保存并扩大自己的实力,拥兵自重,割据一方,恣意妄为,对下鱼肉百姓,对上与中央政府抗衡。
1673年,康熙帝下撤藩令,欲解除三藩兵权。吴三桂即于十一月间在云南发动叛乱,发出檄文指斥清廷“窃我先朝神器,变我中国冠裳”,声称要“共举大明之文物,悉还中夏之乾坤”。蓄发易衣冠,旗帜皆白色,自称“天下都招讨兵马大元帅”,打起“复明”的旗号,以欺骗人民,很快攻进湖南。不久,广西将军孙延龄、提督主雄等据广西反叛,四川巡抚罗森、提督郑蛟麟等据四川反叛。
康熙十三年(1674年)三月,耿精忠据福建反叛。不到半年,清廷的滇、黔、湘、川、桂、闽六省全部失掉。康熙十五年二月,尚之信据广东反叛。接着,战乱扩大到赣、陕、甘等省。吴三桂等人反叛的消息传到北京,举朝震动,大学士索额图提出杀掉主张撤藩者的头,取消撤藩令。康熙力排众议,对其他叛乱分子采取招抚拉拢的手法,暂时停撤耿、尚二藩,集中主要力量打击元凶吴三桂。
康熙下令剥夺吴三桂“平西王”的爵位,杀其子吴梦熊于北京。军事上迅速制定了一套作战计划,讨伐吴三桂。任命顺承郡王勒尔锦为宁南靖寇大将军,统率八旗劲旅前往荆州,与吴军隔江对峙。又命安西将军瓦尔喀率骑兵赴蜀,大学士莫洛经略陕西;命康王杰书等率师讨伐耿精忠。又命副都统马哈达领兵驻兖州、扩尔坤领兵驻太原,以备调遣。
康熙玄烨依据时局,运筹帷幄,以湖南为主战场,坚决打击湖南的叛军。辅以陕、甘、川线和江西、浙东东线,三个战场相互配合,把叛军分割开,同时对西北则采取稳定策略。陕西提督王辅臣,态度暧昧,叛而附,附而又叛,甚至杀害了陕西经略莫洛。康熙以极大的耐心争取他,表示“往事一概不究”,极力安抚,终于在康熙十五年(1676年)把王辅臣争取过来,保住了陕西,使吴三桂打通西北的阴谋未能得逞,清军得以腾出兵力增援南方。清廷又利用耿精忠同郑经的矛盾,多方招抚耿精忠,不久耿归附清廷,清收复福建。尚之信也于康熙十六年五月降服,稳住了广东。
由于康熙处置得当,吴三桂失去了外援,军事上完全陷于孤立。这样,从康熙十五年起,战争的优势逐渐转到清军方面来了。康熙十七年,战势对叛军更加不利。势穷力竭的吴三桂为了鼓舞士气,于三月在衡州称帝,国号“大周”,改元昭武,改衡州为定天府。但这一招并未起什么作用,他坐困衡州,一筹莫展,八月病死,部将迎其孙即帝位,改元洪化,退居贵阳。
清军乘势发动攻击,康熙十八年(1679年),清军平岳州、常德、长沙、衡州等地后,恢复了湖南全省,同时收复广西。康熙十九年(1680年),清军克汉中,定成都,取重庆,收复四川。同时,康熙处分了奉命攻打重庆而中道退返荆州的宁南靖寇大将军勒尔锦,命令彰泰为定远平寇大将军,接替指挥,率师由湖南进攻云贵。
康熙二十年(1681年)正月,清军收复贵州,彰泰开始进入云南,二月,赖塔率师由广西抵云南。九月,清将赵良栋率师由四川至云南,与另二路先期抵达的军队会合,加紧围攻昆明。此时,被清军俘获后发给银粮返还原籍的苗族兵将,纷纷帮助清军。十月,昆明城粮尽援绝,南门守将开门迎降,云贵悉平,“三藩”叛乱至此结束。