在乌兰布通之战中,虽然清方取得了胜利,但是因为没有生擒噶尔丹,康熙帝感到很遗憾。不过他依然在积极部署,且准备了六年,就是为了彻底解决噶尔丹的难题。康熙三十五年(1696年)二月、九月、康熙三十六年(1697年)二月,康熙三度亲征噶尔丹,足可见康熙解决这一问题的决心。
再说噶尔丹,自康熙二十九年在乌兰木通战败后,他虽曾向清廷认罪立誓,上书请降,但反叛之心并未改变。不久又在科布多(在今蒙古国西部)集合旧部,并向沙俄乞援,企图重整旗鼓,东山再起。
康熙三十四年九月,噶尔丹率骑兵3万,攻入喀尔喀蒙古车臣汗部,随后沿克鲁伦河(今蒙古国境内)东下,进抵巴颜乌兰(今蒙古乌兰巴托东南,克鲁伦河上游)。扬言过冬后,将借俄罗斯鸟枪兵6万,大举内犯。
在这种形势下,康熙帝召集群臣商议此事,只有极少数人赞同征讨噶尔丹的主张,八旗满洲王公大臣皆畏怯退缩,反对用兵,康熙也了解群臣们的顾虑,他说:“朕亲历行间,塞外情形,知之甚悉。自古以来,所谓难以用兵者是也。其地不毛,间或无水,至瀚海等沙碛地方,运粮尤苦。而雨水之际,樵爨颇难,区画不周,岂可妄动。”但是康熙也知道,一旦噶尔丹得逞,他就会肆无忌惮继续扩张,且会严重威胁到清朝统治。于是,康熙决定,亲征噶尔丹。康熙三十五年二月,他下令发兵10万,分东、中、西3路进击。由黑龙江将军萨布素统兵9000组成东路军,越兴安岭,出克鲁伦河,侧击准噶尔军;由抚远大将军费扬古统兵4.6万组成西路军,由归化(呼和浩特)、宁夏越过沙漠,沿翁金河北上,切断噶尔丹退路;康熙帝自率3.4万人组成中路军,出独石口(今河北省赤城北),经克鲁伦河上游地区北上,切断噶尔丹退路,与东西两路军夹击噶尔丹军。
不过群臣都担心康熙此次御驾亲征的安全,为了避免让皇帝和噶尔丹正面交锋,大臣们谎称:“传闻噶尔丹亡去已远,皇上当徐徐归还,使西路兵前进。”康熙听后勃然大怒,斥责道:“不知道你们将朕看成了什么人,我太祖高皇帝、太宗文皇帝深入行伍,如今才有了现在的根基,朕能退缩吗?我师既已到此,噶尔丹指日可擒,而且大将军费扬古于朕已约期夹击,如果朕现在班师回朝,西路军何去何从?回京如何对天下交代?”
五月初七,探子来报,称噶尔丹的确切位置已经锁定,康熙即亲率大军向克鲁伦河进发。
谁知,看到康熙御驾亲征,且率领十万大军,他心生畏惧,竟乘夜西撤。康熙帝即命马思喀为平北大将军,坐镇巴颜乌兰地区;令费扬古西路军截准噶尔军退路,设伏袭击;命内大臣明珠尽运中路军之粮以济西师。旋自率前锋追击三日,至拖诺山(巴颜乌兰东)而返。准噶尔军退至特勒尔济(今乌兰巴托东南)时,仅剩万余人。
五月十三,清军西路进抵昭莫多,距特勒尔济30里扎营。费扬古以逸待劳,将东阵兵陈于山上,一部沿土拉河布防于西,骑兵主力隐蔽于树林中,以孙思克率绿营兵居中,旋派400精骑至准噶尔军营地挑战,诱其入伏。噶尔丹果然将万余骑全部出击,追至昭莫多,即向清军阵地猛扑。清军居高临下,依险俯击,弩铳迭发,藤牌兵继之,每进则以拒马木列前自固。准噶尔军初战受挫,乃下马力攻,冒矢铳鏖战,伤亡甚众,仍不退兵。费扬古见其后阵不动,知为妇女和驼畜所在,即令一部迂回横冲,一部袭其后阵,准噶尔军顿时大乱。扼守山顶的清军乘势奋击,上下夹攻,斩杀3000余,俘获数百人。噶尔丹妻阿奴可敦率队冲锋,战死。噶尔丹仅引数十骑西遁,余部逃散。这就是历史上著名的“昭莫多大捷”。
