旅順、威海衛兩座亞東軍事要塞, 分處遼東半島和山東半島, 拱衛渤海, 扼守京畿海上咽喉要道。
但如今, 隨著俄隊在陸戰上的失利, 俄國遠東軍區司令庫羅伯特金大將急忙調整了軍事部署, 黑龍江方向轉入戰略防禦, 威壓琿春的阿穆爾區整編第二師被調往璦琿, 協助第十一步兵團防守, 既鞏固璦琿防禦, 又有牽製北洋陸軍主力的目的。
不過, 高傲的俄國人不甘心作戰失利的事實, 庫爾伯特金決定找回場子, 奪回顏面。他命令俄國遠東艦隊封鎖旅順和威海衛兩座要塞海軍基地, 將北洋水師完全封鎖在港內。然後準備海軍陸戰隊登陸渤海灣沿岸, 同時鴨綠江方向的濱海第二師和阿穆爾獨立旅開始攻擊鴨綠江西岸的清軍。
俄軍試圖在鴨綠江——遼東半島一線打開通道, 軍事迫近盛京能夠更好的逼迫清帝國妥協退讓。
由於李鴻章認為北洋水師實力遠不如俄國遠東艦隊, 交戰必輸無疑, 為了保船, 李鴻章嚴令北洋水師躲在旅順和威海衛兩個要塞基地內不得出戰。北洋水師雖有必死之抗敵之心, 但卻沒有違抗李鴻章命令的勇氣。
北洋水師避戰不出, 使得俄國遠東艦隊氣焰十分囂張, 取得黃海製海權後, 又派兵艦進入渤海灣, 對天津大沽口炮台實施炮擊。
大沽口炮台守軍奮勇還擊, 此時的大沽口炮台已經得到了顯著增強。由於王辰浩在京津唐地區打造工業基地, 京津唐安全同樣擺在第一位。他知道大沽口炮台是京畿安全的最後一道屏障, 當年八國聯軍就是從這裡登陸的。而俄軍佔領朝鮮半島後, 如果對華軍事入侵, 大沽口必然是首當其衝的。因此王辰浩同德國克虜伯公司購買軍火的時候, 便讓李鴻章購買些要塞火炮用於大沽口防禦。李鴻章不舍得讓北洋水師出戰, 但對要塞火力卻是情有獨鍾, 因此立即購買了六門240毫米和六門155毫米口徑的克虜伯大炮裝備大沽口炮台。
大沽口原先的固定炮架大炮, 只能調高低三個檔位, 左右沒有射界。對付海面上的敵艦很吃力, 更換了克虜伯大炮之後, 射程、射界、射速和威力都大幅度提高。當俄軍戰艦發炮攻擊時, 炮台上的克虜伯大炮猛烈開火, 擊沉一艘百噸小炮艇, 擊傷兩艘俄艦, 迫使俄國艦隊不敢靠近大沽口炮台。
俄軍並沒有打算攻陷大沽口的意思, 那樣將迫使清帝國下決心同俄國全面開戰。以俄國現有的兵力和財力, 俄國還不準備跟清帝國爆發全面戰爭, 因次炮擊大沽口炮台只是嚇唬清帝國而已。
俄軍艦隊封鎖旅順和威海衛之後, 為了不讓北洋水師有機會出來, 俄軍布雷艦在旅順和威海衛外圍布置了大量的水雷, 將北洋水師完全封鎖在港內出不來。這樣, 俄艦隊便有能力掩護朝鮮俄軍突破鴨綠江防線了。
8月3日, 俄國遠東艦隊出動兩艘鐵甲艦、四艘巡洋艦和六艘炮艦, 掩護12艘運兵艦分別在鴨綠江口太平溝和北井子實施搶灘登陸。
戰鬥於凌晨開始, 俄軍戰艦對太平溝和北井子兩地預設登陸點實施猛烈炮擊, 駐扎在太平溝地區的清軍廣字營不戰而逃, 退往娘娘城。駐扎在北井子的金字營在總兵金倉指揮下孤軍奮戰, 由於不敵俄軍強大的艦炮轟擊, 金字營很快傷亡過半, 戰至拂曉時分, 金倉中炮陣亡, 殘部八十余人撤出陣地, 退守龍王廟。
從8月4日早上開始, 俄軍在北井子和太平溝兩地登陸, 至8月18日下午, 俄軍阿穆爾獨立旅一萬兩千余人全部完成登陸。
與此同時, 鴨綠江方向上的俄軍濱海區第二師對江對岸的聶士成部發起攻擊, 牽製聶士成部法調兵前往阻止俄軍登陸。而大連總兵衛汝成借口兵力不足, 防衛大連已經很吃力了, 拒絕向北井子增援。這樣, 清軍眼睜睜的看著俄軍完成登陸, 沒有采取任何行動。
19日, 俄軍在肯德拉切夫少將指揮下, 並分兩路。一路向娘娘城進攻, 一路向龍王廟方向挺進。
20日夜, 退守娘娘城的清軍廣字營總兵王廣棄城逃跑, 當夜廣字營清軍四百余人同俄軍一個先鋒連不足兩百人交火, 一觸即潰, 當夜娘娘城即告失守。
第二天, 俄軍沿著鴨綠江繼續北上, 進逼鎮江堡。
鎮江堡是在義州對岸中江地區的聶士成部的右翼屏障, 一旦失守, 則鴨綠江防線即告失敗。聶士成得知娘娘城失守後, 當即抽調一個三個營約一千人兵力火速增援鎮江堡, 同時聶士成以臨陣脫逃治罪於王廣, 將其軍前正法, 以儆效尤。
22日, 俄軍前鋒進抵鎮江堡, 遭到清軍聶士成部頑強抵抗, 兩天未能前進一步。
在龍王廟方向, 由於大連總兵衛汝成拒絕增援, 俄軍於21日輕易佔領龍王廟、黃旗堡兩地, 並沿著羊河繼續北上, 意圖繞過帽盔山攻擊鳳凰城。
鳳凰城是鴨綠江防線的後勤基地, 也是聶士成所部的退路, 一旦鳳凰城失陷, 則聶士成所部將失去退路, 並遭到來自鴨綠江、鎮江堡和帽盔山三個方向的俄軍夾擊, 有全軍覆沒的危險。
聶士成請盛京將軍依克唐阿火速調兵防守鳳凰城, 但依克唐阿稱俄軍勢大, 恐攻擊盛京, 盛京防守兵力有限不易分兵防守鳳凰城, 那樣戰線太長, 容易被俄軍各個擊破。依克唐阿建議聶士成放棄鴨綠江防線, 退守盛京共同防禦。
聶士成請示李鴻章, 李鴻章則堅決不準丟掉鴨綠江防線, 稱援軍很快就到, 要聶士成堅守待援。聶士成奈, 隻得死守。
25日, 俄軍主力猛攻鎮江堡, 守軍雖頑強抵抗, 但俄軍攻勢甚猛, 很快清軍損失過半, 鎮江堡朝不保夕。
李鴻章同依克唐阿商議未果, 於是隻得從天津調北洋陸軍第三鎮和第四鎮增援。因戰爭關系, 此時的北洋八鎮陸軍已經提前完成了相關的訓練。但遠水解不了近渴, 北洋陸軍第三鎮和第四鎮開至山海關時, 鎮江堡已於26日夜失守。聶士成恐遭到俄軍反包圍, 不得不放棄鴨綠江防線, 率部退守鳳凰城。
27日, 俄軍濱海區第二師度過鴨綠江佔領中江, 同阿穆爾獨立旅回師, 鴨綠江防線即告失守。
29日, 俄軍在鳳凰城下同清軍展開主力決戰。聶士成所部還按照對付日軍的方式迎戰俄軍, 但俄軍的戰鬥力遠超過同時期的日軍, 在人數、火力和戰鬥經驗方面更不是落後的清軍可比的, 其戰力之強悍更不是聶士成所部光靠勇氣就可以擋得住的。
但聶士成所部在沒有援軍的情況下, 依然咬牙堅守鳳凰城兩天后, 因部隊傷亡慘重, 不得不於9月1日放棄鳳凰城, 退守遼陽。俄軍旋即佔領鳳凰城, 清軍鳳凰城戰役即告失敗。
隨後, 俄軍繼續向遼陽進軍, 盛京將軍依克唐阿和聶士成組織37個營, 共計四萬余人, 準備發起遼陽會戰, 阻擋俄軍前進步伐。
清軍在遼東地區接連作戰失利, 使得之前北洋陸軍在黑龍江地區獲得的勝利迅速被衝淡, 取而代之的又是朝廷上下一片惶恐。
俄國沒有任何談判誠意, 炮擊大沽口, 出兵進攻遼東, 威脅盛京等一系列軍事行動立即觸碰了清政府的底線。
盛京作為清帝國的陪都, 作為皇室的根基, 清廷不允許有任何差。而俄國人屢次借助談判為掩護, 暗地裡采取軍事行動終於讓清政府清醒了, 只有打贏戰爭才能逼迫俄國人老實的坐到談判桌上。
9月2日, 清帝國兩個最高權利象征終於在主戰方面達成妥協, 慈禧為求保住滿清龍興之地, 支持主戰派。而俄軍攻擊遼東, 威脅到了李鴻章在那裡經營的北洋事業, 使得李鴻章對於主戰的態度也越發強硬。
當天下[ 遮天 ]午, 光緒帝下旨總理衙門和禮部, 起草對俄宣戰諜文。同時照會俄國公使庫曼, 對俄國發出最後通牒, 要求俄軍立即撤出遼東, 否則就將正式宣戰。
庫曼不曾想清帝國會有這麽大的反應, 他意識到盛京遠比黑龍江更刺激清帝國高層的神經。庫曼表示願意立即停戰談判, 他不希望清俄正式宣戰。然而, 庫曼致電俄國遠東司令庫爾伯特金大將, 要求俄軍停止軍事行動卻遭到拒絕。理由是, 肯德拉切夫少將放下豪言, 一個月內攻陷盛京, 三個月內佔領東北全境, 前線俄軍正取得了大勝, 貿然停下來恐傷士氣, 同時俄國從中亞調來的五萬援軍業已抵達遠東, 即將投入戰鬥。在這種情況下, 庫爾伯特金大將認為沒有必要在跟清帝國遮遮掩掩了。
公元1896年9月3日, 光緒22年八月一日, 俄國公使館對清帝國最後通牒沒有回應, 於是光緒當即下旨對俄宣戰, 是為八一宣戰。