试图将俄舰封堵在旅顺口,但均未成功。为了摆脱舰队的被动处境,俄国任命马卡洛夫为太平洋分舰队司令。马卡洛夫上任后,立即采取了一系列的紧急措施。为了防止日军从后侧登陆,对旅顺基地造成威胁,马卡洛夫在辽东半岛沿海地区密布地雷,同时,他还命令舰队在日本海袭击日军海上交通线,分散日本舰队对旅顺的压力。
3月22日,马卡洛夫率领舰队出海巡航,在4月13日返航途中,马卡洛夫所乘的“彼得罗巴浦洛夫”号战列舰触雷爆炸,包括马卡洛夫在内的650名舰上官兵全部葬身鱼腹。马卡洛夫死后,新任司令威特赫夫特一改前任的积极进攻态势,转入消极防御。在对抗中,两国海军互有胜负。在无法达到尽快歼灭俄国舰队与旅顺口的目的后,日本转而向陆地寻找消灭俄军主力的机会。
4月中旬,在没有遭遇到任何抵抗的情况下,日军轻松地来到鸭绿江左岸,向对岸俄军的东满支队发起了进攻,此后接连占领九连城、凤凰城,兵锋直指辽阳。5月初,由奥保巩大将指挥的日本第二军在辽东半岛东南貔子窝成功登陆,于月底进抵金州,并很快攻占大连。与此同时,日本第三军和第四军也相继在各自登陆点登陆,扫清障碍,向旅顺进逼。6月20日,日军成立了以大山岩为总司令的“满洲军总司令部”,统一指挥对旅顺的战役。担任进攻主力的是由乃木希典任军长的第三军。
旅顺是俄国在远东最重要的战略港口,如果丢掉了这座城市,俄国不仅将失去它在远东的军事基地,而且“有损于在近东、中亚和欧洲的政治军事威望”。为了守住旅顺,俄军调集重兵进行防守,使得日军每前进一步都必须付出巨大的代价,可谓“亡命之战”。鉴于旅顺之战迟迟没有根本性进展,大山岩撤销了乃木希典的指挥权,由总参谋长儿玉源太郎代为指挥。儿玉源太郎是有名的炮兵专家,在他的部属下,日军很快攻克了俄军防守最为严密的203高地。随后,日军在203高地架设火炮,以大口径榴弹炮袭击俄国舰队。俄国舰队损失惨重,基本上丧失了作战能力。
1905年1月1日,俄军投降,1月2日,俄方正式签订投降文书。在整个旅顺战役中,俄军损失4.4万余人,日军损失约6万人。
在结束旅顺战役后,日军迅速向奉天进发,准备与俄军在东北的主力进行会战,将其一举歼灭。到达奉天的日军约为27万人,1082门炮,200挺机枪。而集中于奉天的俄军约为33万人,1266门炮,56挺机枪。2月23日,日军向奉天俄军发起进攻。双方在阵地间你争我夺,最后以俄军主力逃脱日军包围而告结束。虽然俄军主力得以幸免,但是在奉天会战中,俄军也损失了近12万人,日军斩获不断,人员损失在7万左右。
奉天会战后,俄国从欧洲海域抽调太平洋第2分舰队开往亚洲,驰援东北的俄军。太平洋第2分舰队是一支零时拼凑的舰队,其战舰多数从波罗的海舰队抽调而来,拥有各型战舰38艘,辅助舰船20艘。俄海军的动向全在日军的掌握之内,为了出其不意消灭这支舰队,日本舰队在俄舰可能经过的海域布设鱼雷。5月27日,太平洋第2舰队进入对马海峡,遭到了早已等候在此的日本海军的突然袭击。除了3艘军舰冲出日舰包围,向海参崴方向逃跑外,其余军舰皆遭到毁灭性打击,人员阵亡4830人,而日本舰队只损失了3艘鱼雷艇,阵亡117人。
太平洋第2舰队的惨败,使俄国彻底失去了与日本在远东抗衡的力量,而日本为了与俄国对抗,消耗了巨大的人力物力,如果战争继续持续下去,对日本有弊无利,于是也想早日结束此次战争。于是,在美国的调停下,经过一番激烈的讨价还价,1905年9月5日,日俄在美国朴茨茅斯签订了合约。俄国承认日本在朝鲜享有政治、军事及经济上的特权,并将向清政府“租借”的辽东半岛及有关权利转让给日本;除此之外,俄国还将库页岛南部及其附近一切岛屿割让给日本。
虽然日俄战争以俄国战败而告结束,但是在这场战争中,真正受到伤害的是无辜的中国人民。日俄战争的主战场在中国东北,腐败无能的清政府任其在自己的“龙兴之地”相互争斗,烧杀抢掠,并让当地官府从重管束百姓,不许反抗,以至于“纵横千里,几同赤地”、“烽燧所至,村舍为墟,小民转徙流离哭号于路者,以数十万计”。而日本在日俄战争中除获得巨大利益外,还侵占了中国东北南部的广大领土。