第一次雅克萨之战失败后,托尔布津率残军从雅克萨撤回尼布楚,但其侵略的野心不死,仍时刻准备卷土重来。这时,由拜顿率领的六百名沙俄援军赶到尼布楚。托尔布津在受降仪式上虽然发誓不再返回雅克萨,但他侵略的野心不死。在得到国内增援,并侦知清军全部撤离雅克萨后,托尔布津决定背弃誓言,率领俄军在七八月间分批重返雅克萨,并全力构筑城堡工事,做了长期固守的准备,此时距俄军的战败投降才不过两月有余。
康熙二十五年(1686)二月,康熙帝得知俄军重新占领雅克萨城,感到事态严重,认为:“今罗刹复回雅克萨,筑城盘踞,若不速行扑剿,势必积粮坚守,图之不易。”康熙帝立即调兵遣将,部署第二次雅克萨之役。他命令黑龙江将军萨布素加紧整修战船,并统领乌喇、宁古塔官兵,驰赴瑷珲(黑龙江城),率所部两千人攻取雅克萨城。又再次挑选福建藤牌兵四百人,由建义侯林兴珠率领前往萨布素军前效命。命从副都统博定率领的筑城、屯田官兵中挑选二百人,驻扎在墨尔根(故址在今黑龙江省嫩江)以备增援。免除索伦、达斡尔等部落当年贡赋,命令他们饲养马匹、整修器械,以备调用。由于郎坦、班达尔善两人参加了第一次雅克萨攻城战,熟悉当地地形,因此康熙帝命二人赶赴黑龙江军前,参赞军务。鉴于这次俄军去而复至,康熙帝特别指示:“若得雅克萨城,即往尼布楚。事毕,还兵驻于雅克萨过冬,勿毁其城,亦勿损其田禾,俟(等)禾熟收为我饷。”
五月上旬,萨布素率领两千清军从瑷珲出发,月底逼近雅克萨。清军致信俄方,令其投降,俄军置之不理。此时,雅克萨城内有俄军八百二十六人,装备十二门大炮。残余俄军依托雅克萨残城旧址构筑工事。其城里外为木,中实以土,墙宽一丈五尺、高一丈,外涂以泥。俄军凭借城防坚固,火器充足,退进要塞内部,挖洞穴居,冒死频繁出击,致清军不能逼近城垣。六月一日,清军水师占据黑龙江上游,做好了阻击尼布楚俄方援军的准备。四日夜双方发生炮战,清军通宵攻城,未能攻克。八日夜,清军攻取城南土阜,占领了制高点。九日夜,清军以红衣大炮的炮火作为掩护,逼近城下筑垒。十日、十二日,俄军乘大雾进攻土阜,试图夺回制高点,但均被清军击退。久攻不下之际,清军将领集会商议,认为“若不断其水道,则持久难为力”。于是各路清军约定同时发动进攻,奋勇直逼雅克萨城下,掘长堑,筑土垒,准备长期围困。俄军对此深感恐慌,拼死反扑,双方激战四昼夜。在激战中“雅克萨督军”托尔布津被击毙,拜顿代其指挥。这时,清军已掘完长堑,筑成土垒,对俄军形成了瓮中捉鳖之势。七月八日,俄军再次出城争夺城北炮台,被守台清军击败,俄军从此困守城内。尼布楚督军弗拉索夫曾派七十名哥萨克前来增援,但远远望见清军壁垒森严,无法偷袭,只得狼狈退回尼布楚。
此时距离俄军重返雅克萨已有一年的时间,正如康熙帝所预料的那样,俄军“筑城盘踞”“积粮坚守”。他们在旧址上建筑起一座更加坚固的城堡,城堡内修建了粮仓、火药库和军需仓库,贮备了大量粮食、弹药和其他物资。由于第一次雅克萨之战清军善后工作不力,以及俄军再次返回后做了充分的战争准备,雅克萨城一时难以攻下,清军和俄军在雅克萨形成了对峙局面。黑龙江上寒冷的季节即将来到,清军只有两千余人,五十支火枪和少量火炮,其余的武器均为弓箭刀矛,攻坚能力较差。因此,清军停止了强攻,准备长期围困。萨布素等遵从康熙帝的旨意,对长期围困雅克萨作出如下部署:在雅克萨城周三面掘壕筑垒,壕外置木桩、鹿角,分兵把守;城西对面的江岸上,另外设置一军,防止俄军从江上逃跑;在离城六七里的黑龙江上游河湾内存放船只,并派遣一支军队守护,该部同时负有阻击尼布楚方面沙俄援军的使命;前线的全部军马送回黑龙江城和墨尔根喂养。康熙帝又怕清军围城的兵力不足,又命副都统博定率二百名清军增援。雅克萨城被清军重重围困,俄军如瓮中之鳖、插翅难飞。
在围困雅克萨的同时,康熙帝仍然没有放弃外交努力。他分析,俄军之所以死守雅克萨,是因为尼布楚等地的阻隔,使以往清廷致沙皇的书信未能送达;也可能是雅克萨的俄国人都是有罪的囚徒,由于惧怕战败归国后受到严惩,所以拼死抵抗。巧合的是,荷兰使臣恰在此时来到中国,康熙帝于是决定再次致书沙皇,由荷兰使臣转交。 在致沙皇的咨文中,清政府再次敦促沙俄撤回雅克萨的军队,遣返中国的逃人,并表达了希望两国划定边界,互不侵扰,永修和好的愿望。
随着时间的推移,清军长期围困的战略取得显著成效,至当年九月底,雅克萨城内八百多名俄军或战死、或病死,已仅剩一百五十余人,粮食弹药亦消耗殆尽,山穷水尽之下,困守雅克萨的俄军只有坐以待毙了。
沙俄政府得知清廷决心收复雅克萨,获胜后将直捣尼布楚,大为恐慌。因为沙俄此时正深陷欧洲战场,无力向远东增援。为了巩固在远东侵占的地盘,沙俄政府不得不接受清政府的建议:通过谈判解决两国的边界争端。九月,沙俄派遣文纽科夫、法沃罗夫飞驰北京,投递国书,声称俄国政府已经正式指派费要多尔·阿列克塞耶维奇·戈洛文为大使,前来同清朝举行边界谈判,并请求清政府停战,“乞撤雅克萨之围”。
康熙帝在接到沙俄的停战国书后,决定单方面停战撤军、遂下令解除雅克萨之围:“鄂罗斯察汗以礼通好,驰使请解雅克萨之围,朕本无屠城之意,欲从宽释,其令萨布素撤回雅克萨之兵,收集一处,于靠近近战船处立营,并晓谕城内罗刹,听其出入,毋得妄行攘夺,俟鄂罗斯后使至定议。”康熙在雅克萨城唾手可得的情况下,主动撤军,意在早日促成中俄双方和谈,解决争端,划定边界,互通贸易,和平共处。
清军遵旨解围,并给俄军送去饮食、医药,派至前线的太医也为俄军治病。康熙二十六年(1687)七月,喀尔喀土谢图汗奏报:“鄂罗斯遣使请和,已抵臣境。”康熙于是命萨布素率前线清军撤回黑龙江城、墨尔根城。
由于中国方面倡议和平谈判并停火撤军,第二次雅克萨战争得以结束,中俄双方进入谈判阶段。