在《尼布楚条约》签订后的第二年,沙俄政府不甘心失败,又唆使准噶尔(蒙古族的一支)的首领噶尔丹向漠北蒙古进攻。
那时,蒙古族分为漠南蒙古、漠北蒙古和漠西蒙古三个部分。除了漠南蒙古已归属清朝外,其他两部也都向清朝臣服了。准噶尔部是漠西蒙古的一支,本来在伊犁一带过着游牧生活。自从噶尔丹统治准噶尔部以后,他先兼并了漠西蒙古的其他部落,又向东进攻漠北蒙古。漠北蒙古人逃到漠南,请求清朝政府保护。康熙帝派使者到噶尔丹那里,叫他把侵占的地方还给漠北蒙古。噶尔丹依仗沙俄撑腰,不但不肯退兵,还大举进犯漠南。
康熙帝决定亲征噶尔丹。1690年,康熙帝兵分两路:左路由抚远大将军福全率领,从古北口出兵;右路由安北大将军常宁率领,从喜峰口出兵,康熙帝亲自带兵在后面坐镇。
右路清军先与噶尔丹军遭遇,败下阵来。噶尔丹的军队长驱直入,一直打到离北京只有700里的乌兰布通(今内蒙古昭乌达盟克什克腾旗)。噶尔丹得意扬扬,还派使者向清军索要他们的仇人。
康熙帝命令福全出击。清军用火炮火枪猛烈轰击敌阵,步兵骑兵一起冲杀过去。福全又派兵绕到山后夹击,把叛军杀得七零八落,纷纷丢寨逃走。
噶尔丹回到漠北,表面向清朝政府表示屈服,实际上却重新招兵买马,还暗地里派人到漠南煽动叛乱。
1696年,康熙帝第二次亲征,兵分三路出击:黑龙江将军萨布素从东路进兵;大将军费扬古率陕西、甘肃军兵,从西路出兵,截击噶尔丹的后路;康熙帝亲率中路军,从独石口出兵。二路大军约定日期同时进攻。
康熙帝的中路军到了科图,遇到了敌军前锋,但东西两路还没有到达。这时候,有人传言沙俄要出兵帮助噶尔丹。随行的一些大臣害怕起来,劝康熙帝退兵。康熙帝气愤地说:“我这次出征,还没有见到叛贼就退兵,怎么向天下人交代?再说,我中路一退,叛军全力对付西路,西路不是更危险了吗?”
康熙帝决心已定,继续进兵克鲁伦河,并且派使者去见噶尔丹,告诉他康熙帝亲征的消息。噶尔丹在山头望见清军黄旗飘扬,军容整齐,便连夜拔营逃走了。康熙帝一面派兵追击,一面派快马通知西路军大将费扬古,让他们在半路上截击。
噶尔丹带兵奔走了五天五夜,到了昭莫多(在今蒙古人民共和国乌兰巴托东南),正好与费扬古军相遇。费扬古在树林茂密的地方设下埋伏,然后派先锋把叛军引到预先埋伏的地方,叛军一到,便前后夹击。叛军死的死,降的降。最后,噶尔丹只带了几十名骑兵逃走了。
经过两次大战,噶尔丹叛乱集团土崩瓦解。但是噶尔丹不听康熙帝的劝告,继续顽抗。隔了一年,康熙帝又带兵渡过黄河亲征。这时候,噶尔丹原来的根据地伊犁,已被他侄儿策妄阿那布坦占领;他的左右亲信听说清军来到,纷纷投降。噶尔丹走投无路,就服毒自杀了。
从那以后,清政府重新控制了阿尔泰山以东的漠北蒙古,分封了当地蒙古贵族称号和官职。随后,又在乌里雅苏台设立将军,统辖漠北蒙古。
后来,噶尔丹的侄儿策妄阿那布坦攻占了西藏。1720年,康熙帝派兵远征西藏,驱逐了策妄阿那布坦,护送达赖喇嘛六世回藏。以后,清政府又在拉萨设置驻藏大臣,代表中央政府同达赖、班禅共同管理西藏。