康熙二十四年(1685)正月,康熙帝下达以武力收复雅克萨的命令。他指出:“兵非善事,不得已而用之。向者罗刹无故犯边,收我逋逃,后渐越界而来,扰害索伦、赫哲、飞牙喀、奇勒尔诸地,不遑宁边;剽劫人口,抢掳村庄,攘夺貂皮,肆恶多端。是以屡遣人宣谕,复移文来使,罗刹竟不报命,反深入赫哲、飞牙喀一带,扰害益甚。爰发兵黑龙江扼其往来之路,罗刹又窃据如故,不送还逋逃,应即剪灭。”
在清军向雅克萨进发之前,清政府再一次做了外交努力,三月十七日,康熙帝致信沙皇,要求俄军撤出雅克萨,以雅库等某地为界,和睦相处,否则出兵征讨雅克萨。俄方仍不予答复。于是,康熙帝任命都统彭春为统帅,副都统班达尔善、护军统领佟宝、副都统马喇、銮仪使林兴珠参赞军务,率领清军三千人向沙俄军队盘踞的雅克萨城进发。
清军出发前,康熙帝向彭春等传谕:“朕以仁治天下,素不嗜杀,尔其严谕将士,毋违朕旨,以我兵马精强,器械坚利,俄罗斯势不能敌,必献地归诚,尔时勿杀一人,俾还故土宣朕柔远至意。”这道谕旨,指导了清军正确执行对敌斗争政策,也为与沙俄谈判敞开了大门。
康熙二十四年(1685)四月二十八日,黑龙江上江风浩荡,波涛汹涌,瑷珲城下旌旗飞扬,号角齐鸣。满、蒙、汉、索伦、达斡尔、鄂伦春、赫哲、鄂温克等各族大军齐集此地,同仇敌忾,秣马厉兵,誓与沙俄侵略者决一死战。在隆隆的战鼓声中,船队扬帆启锚,溯江而上;骑兵催动坐骑,铁流滚滚。正当行军途中肉食匮乏之际,清军突遇鹿群,捕获鹿五千余只,全军饱餐野味,斗志更加旺盛。
五月二十二日,清军抵达雅克萨城郊。本着先礼后兵的原则,彭春派俄军俘虏把用满文、俄文、拉丁文书写的文书送入雅克萨城内,向俄军发出最后通牒,要求俄军撤出雅克萨,返归俄国。但是,俄军头目托尔布津自恃巢穴坚固,拥有士兵四百五十人,炮三门,鸟枪三百支,拒不投降,要以武力抗拒。清军于五月二十三日分水陆两路列营攻击。陆师布于城南,集战船于城东南,列炮于城北。二十四日,清军截击了一队沙俄援军,击毙三十余人。二十五日黎明,清军向雅克萨城发起总攻。
清军采取在四面合围的同时采取攻击战术。主帅彭春、班达尔善等率八旗兵攻击城南,何佑等将领把战船集中到雅克萨城的东南,又将红衣大炮安置在城北制高点,使火力范围几乎覆盖全城。副都统温代等将驻守城西,全军四面同时进攻,俄军腹背受敌难以支撑。经过一昼夜激战,守城俄军遭到沉痛打击,清军又在城下三面堆起木柴,声称要火攻。俄军雅克萨督军托尔布津在内无粮饷,外无援兵的情况下,走投无路,被迫遣使乞降,要求在保留武装的条件下撤离雅克萨。清军经过慎重考虑,同意了残余俄军的投降请求。在受降仪式上,托尔布津发誓绝不再来。清军统帅彭春按照康熙帝出发前的旨意,释放了全部俄军战俘,允许他们带走武器和财产,并将七百余俄国人送至额尔古纳河口,遣返回国。另有四十五名俄军连同家属愿意留在中国,清军遵照康熙帝的旨令,将他们安插在盛京。清军从雅克萨城中解救出被掳索伦、达斡尔等族人一百六十余名。至此,清军取得第一次雅克萨之战的全胜。康熙帝接到前线捷报,高兴地对大臣们说:“破四十年盘踞之俄罗斯于数日之间,获雅克萨之城,克奏厥绩。”清军获胜后,康熙帝要求清军加强黑龙江地区防御。他在六月十四日的谕旨中告诫前线将领:“至雅克萨城,虽已攻克,防御决不可疏,应于何处永驻官兵弹压,此时即当定议。”随后又下旨,让大学士勒德洪等人与议政王大臣等会议具奏。然而彭春等人在收复雅克萨之后,并未将城墙及房屋彻底平毁,仅仅焚烧了城内房屋,城周的庄稼未割,哨所未立,全部清军就撤回休整,以至两个月之后,俄国人乘隙重新回到雅克萨,在该地发现了大量粮食和建筑材料,从而得以迅速地重建雅克萨城。