1694年,清政府詔噶爾丹前來會盟,噶爾丹抗命不至,反而遣兵侵入喀爾喀,康熙遂決定誘其南下,然後一戰殲之。
為使此次作戰順利進行,清軍在戰前做了充分準備:調集兵馬,征調大批熟悉情況的蒙古人為向導,隨軍攜帶5個月口糧,按每名士兵配備一名民夫4匹馬的標準,組成龐大的運輸隊,備有運糧大車6000輛,隨軍運送糧食、器材;籌備大量防寒防雨器具,準備大批木材、樹枝,以備在越過沙漠和沼澤地時鋪路。
噶爾丹果然率3萬騎兵自科布多東進,沿克魯倫河東下,大舉內犯。在此形勢下,康熙決定再次親征。1696年2月,康熙調集9萬軍隊,分東中西三路進擊:東路9000人,由黑龍江將軍薩布素率領越興安嶺西進,出克魯倫河實行牽製性側擊;西路4.6萬人,由撫遠大將軍費揚古為主將,分別出歸化、寧夏越過沙漠,北上切斷噶爾丹西逃之路;康熙自率中路北上,與其他兩路約期夾攻。
噶爾丹見康熙親率精銳前來,又聞西路清軍已過土剌河,有遭夾擊的危險,便連夜率部西逃。
1696年5月13日,清西路軍進抵土剌河上遊的昭莫多,距噶爾丹軍15千米紮營。昭莫多,蒙語為大森林,位於肯特山之南,土剌河之北,汗山之東。
清撫遠大將軍費揚古鑒於軍隊長途跋涉,饑疲不堪,決定采取以逸待勞、設伏截擊的方針,以一部依山列陣於東,一部沿土剌河布防於西,將騎兵主力隱蔽於樹林之中;振武將軍孫思克率步兵居中,扼守山頂。
戰鬥開始後,清軍先以400騎兵挑戰,誘使噶爾丹軍入伏。噶爾丹果然率兵進擊,企圖攻占清軍控製的山頭。孫思克率兵據險防守,雙方激戰一天,不分勝負。
此時費揚古指揮沿河伏騎分兵一部迂回敵陣,另一部襲擊其陣後家屬、輜重,據守山頭的孫思克部也奮呼出擊。
噶爾丹軍大亂,奪路北逃,清軍乘夜追擊15千米以外,俘殲數千人,收降3000人,擊斃噶爾丹之妻。噶爾丹僅率數十騎西逃。此戰,清軍利用昭莫多的地理條件,以逸待勞,設伏截擊,迂回包抄,終於贏得了勝利。在噶爾丹率軍東侵喀爾喀之際,其後方基地伊犁地區被其侄策妄阿拉布坦所襲占。加之連年戰爭,噶爾丹精銳喪亡,牲畜皆盡,噶爾丹兵敗窮蹙,無所歸處,所率殘部隻不過數十人,且羸弱不堪,內部異常混亂。
1697年2月,康熙鑒於噶爾丹拒不投降,再次下詔親征。噶爾丹聞訊,在眾叛親離的情況下,服毒自殺而死。至此,康熙時期平定噶爾丹叛亂之戰始告結束,喀爾喀地區重新統一於清政府。
噶爾丹的失敗,從根本上說,他的行動違背了我國多民族國家走向統一與鞏固的曆史潮流,到頭來不免走上覆滅的道路。