康熙帝决心严厉惩罚噶尔丹。1690年,他亲率大军西征。左路清军由抚远大将军福全统领,出古北口;右路清军由安北大将军常宁率领,出喜峰口。
左路军先与噶尔丹交手,吃了败仗,不得不后撤。噶尔丹因此而更加轻视清军,向南猛攻,一直打到乌兰布通(今属内蒙古),离北京只有七百里。他狂妄地叫嚷着要打到北京去。康熙帝下令右路军停止后撤,迅速会合左路军,在乌兰布通迎战噶尔丹。
噶尔丹将他的大军布阵在一座大山下,一边有河流,一边有树林。他命人将一万多匹骆驼围成圆阵,捆住四脚并让它们躺下,使它们不能移动。驼背上绑着木箱,蒙上湿毛毡,士兵们则躲在驼阵后发炮射箭,被称为驼城。清军先用大炮向驼城中段轰击,猛烈的炮火将骆驼炸得血肉横飞,驼阵被撕开一个很大的口子,正面的清军步骑兵随后发起勇猛的冲锋,另一支清军则从驼城背后夹攻。噶尔丹的叛军被打得丢盔卸甲,尸横遍野,狼狈逃窜。
为延缓清军的追击,噶尔丹派一个喇嘛向清军求和。福全连忙向康熙帝禀报。康熙帝叫传令官赶快传达命令:“火速追击!”可是就在清军等候康熙帝命令的时候,噶尔丹跑了。他带着残兵败将取道大兴安岭逃回漠北。