沙俄政府在雅克薩失敗以後,並不甘心,就在尼布楚條約簽訂的第二年,又唆使準噶爾部(蒙古族的一支)的首領噶爾丹進攻漠北蒙古。
那時候,蒙古族分為漠南蒙古、漠北蒙古和漠西蒙古三個部分。除了漠南蒙古早已歸屬清朝外,其他兩部也都臣服了清朝。準噶爾是漠西蒙古的一支,本來在伊犁一帶過遊牧生活。自從噶爾丹統治準噶爾部以後,他野心勃勃,先兼併了漠西蒙古的其他部落,又向東進攻漠北蒙古。漠北蒙古抵抗一陳失敗了,幾十萬的漠北蒙古人逃到漠南,請求清朝政府保護。康熙帝派使者到噶爾丹那裡,叫他把侵佔的地方還給漠北蒙古。噶爾丹自以為有沙俄撐腰,十分驕橫,不但不肯退兵,還以追擊漠北蒙古為名,大舉進犯漠南。
康熙帝召集大臣宣佈他決定親征噶爾丹。他認為噶爾丹氣勢洶洶,野心不小,既然打進來,非反擊不可。公元1690年,康熙帝分兵兩路:左路由撫遠大將軍福全率領,出古北口;右路由安北大將軍常寧率領,出喜峰口,康熙帝親自帶兵在後面指揮。
右路清軍先接觸噶爾丹軍,打了敗仗。噶爾丹長驅直入,一直打到離開北京只有七百里的烏蘭布通(今內蒙古昭烏達盟克什克騰旗)。噶爾丹得意揚揚,還派使者向清軍要求交出他們的仇人。
康熙帝命令福全反擊。噶爾丹把幾萬騎兵集中在大紅山下,後面有樹林掩護,前面又有河流阻擋。他把上萬隻駱駝,縛住四腳躺在地上,駝背上加上箱子,用濕氈毯裹住,擺成長長的一個駝城。叛軍就在那箱垛中間射箭放槍,阻止清軍進攻。
清軍用火炮火槍對準駝城的一段集中轟擊,炮聲隆隆,響得震天動地。駝城被打開了缺口。清軍的步兵騎兵一起衝殺過去,福全又派兵繞出山後夾擊,把叛軍殺得七零八落,紛紛丟了營寨逃走。
噶爾丹一看形勢不利,趕快派個喇嘛到清營求和。福全一面停止追擊,一面派人向康熙帝請示。康熙帝下令說:「快進軍追擊!別中了賊人的詭計。」果然,噶爾丹求和只是緩兵之計,等清軍奉命追擊的時候,噶爾丹已經帶了殘兵逃到漠北去了。
噶爾丹回到漠北,表面向清朝政府表示屈服,暗地裡重新招兵買馬。公元1694年,康熙帝約噶爾丹會見,訂立盟約。噶爾丹不但不來,還暗地派人到漠南煽動叛亂。他揚言他們已經向沙俄政府借到鳥槍兵六萬,將大舉進攻。內蒙古各部親王紛紛向康熙帝告發。
公元1696年,康熙帝第二次親征,分三路出擊:黑龍江將軍薩布素從東路進兵;大將軍費楊古率陝西,甘肅的兵,從西路出兵,截擊噶爾丹的後路;康熙帝親自帶中路軍,從獨石口出發。三路大軍約定時期夾攻。
康熙帝的中路軍到了科圖,遇到了敵軍前鋒,但東西兩路還沒有到達,這時候,有人傳說沙俄將要出兵幫助噶爾丹。隨行的一些大臣就有點害怕起來,勸康熙帝班師回北京。康熙帝氣憤地說:「我這次出征,沒有見到叛賊就退兵,怎麼向天下人交代;再說,我中路一退,叛軍全力對付西路,西路不是危險了嗎?」
當下,康熙帝決定繼續進兵克魯倫河,並且派使者去見噶爾丹,告訴他康熙帝親征的消息。噶爾丹在山頭一望,見到康熙帝黃旗飄揚,軍容整齊,連夜拔營撤退。
康熙帝一面派兵追擊,一面趕快通知西路軍大將費揚古,要他們在半路上截擊。
噶爾丹帶兵奔走了五天五夜,到了昭莫多(在今蒙古人民共和國烏蘭巴托東南)正好遇到費揚古軍。昭莫多原是一座大樹林,前面有一個開闊地帶,歷來是漠北的戰場。費揚古按照康熙帝的部署,在小山的樹林茂密地方設下埋伏,先派先鋒四百人誘戰,邊戰邊退,把叛軍引到預先埋伏的地方,清軍先下馬步戰,聽到號角聲起,就一躍上馬,佔據了出頂。叛軍向山頂進攻,清軍從山頂放箭發槍,展開了一場激戰。費揚古又派出一支人馬在山下襲擊叛軍輜重,前後夾擊。叛軍死的死,降的降。最後,噶爾丹只帶了幾十名騎兵脫逃。
經過兩次大戰,噶爾丹判亂集團土崩瓦解,康熙帝要噶爾丹投降,但是噶爾丹繼續頑抗。隔了一年,康熙帝又帶兵渡過黃河親征。這時候,噶爾丹原來的根據地伊犁已經被他侄兒策妄阿那布坦佔領;他的左右親信聽說清軍來到,也紛紛投降,願意做清軍的嚮導。噶爾丹走投無路,就服毒自殺。
打那以後,清政府重新控制了阿爾泰山以東的漠北蒙古,給當地蒙古貴族各種封號和官職。清政府又在烏里雅蘇臺設立將軍,統轄漠北蒙古。
後來,噶爾丹的侄兒策妄阿那布坦攻佔西藏。公元1720年,康熙帝又派兵遠征西藏,驅逐了策妄阿那布坦,護送達賴喇嘛六世進藏。以後,清政府又在拉薩設置駐藏大臣,代表中央政府同達賴、班禪共同管理西藏。