После Ляоянского сражения русские войска отошли к Мукдену и заняли позиции на реке Хуньхэ. Японцы же остались к северу от Тайцзыхэ. 5-17 октября произошло встречное сражение на реке Шахэ. В начале сражения русским удалось сбить неприятеля с передовых позиций, но 10 октября японцы перешли в контрнаступление и 14 октября прорвали фронт 10-го армейского корпуса. В конце сражения обе стороны перешли к позиционной обороне на фронте протяженностью 60 км. Русская армия в этом сражении насчитывала 200 тысяч человек при 758 орудиях и 32 пулеметах. У японцев было 170 тысяч солдат, 648 орудий и 18 пулеметов.
Стороны оставались на позициях, находившихся на дистанции ружейного огня, вплоть до января 1905 года. За этот период в обеих армиях значительно усовершенствовалась телефонная связь. Аппараты появились не только в штабах армий, но и в штабах корпусов, дивизий, бригад, полков и даже на артиллерийских батареях. 24 января 1905 года русская армия попыталась наступать в районе Сандепу, однако к 28 января противник оттеснил их на исходные позиции. У Куропаткина в тот момент было 300 тысяч солдат и 1080 орудий, у Оямы – 220 тысяч человек и 666 орудий.
С 19 февраля по 10 марта 1905 года произошло самое крупное сражение русско-японской войны – Мукденское. Русская армия к его началу насчитывала 330 тысяч человек при 1475 орудиях и 56 пулеметах. У японцев с учетом подошедшей из-под Порт-Артура 3-й армии Ноги и прибывшей из Японии новой 5-й армии было 270 тысяч человек, 1062 орудия и 200 пулеметов. Куропаткин готовился перейти в наступление против левого фланга неприятеля 25 февраля, но Ояма, стремившийся охватить русскую армию с обоих флангов, его упредил. 2-я русская армия была охвачена с запада 3-й японской армией и атакована с фронта 2-й армией. 1-я японская армия генерала Куроки прорвала позиции 1-й русской армии и угрожала перерезать Мандаринскую дорогу в тылу главных русских сил. Опасаясь окружения и уже находясь фактически в мешке, Куропаткин смог, однако, в порядке отвести армию к Телину, а потом на сыпингайские позиции в 175 км к северу от Мукдена.
После Мукдена Куропаткина на посту главнокомандующего сменил генерал Николай Линевич, ранее командовавший 3-й армией.
В Мукденском сражении впервые были случаи, когда солдаты расстреливали офицеров, пытавшихся огнем из револьверов остановить бегущих. Почти четыре десятилетия спустя, в годы Великой Отечественной войны, советские солдаты уже не были столь сознательны и безропотно позволяли офицерам расстреливать себя.
Из состава Балтийского флота была сформирована 2-я Тихоокеанская эскадра под командованием адмирала З. П. Рожественского, начальника Главного морского штаба. Она совершила переход на Дальний Восток, где погибла в сражении в Цусимском проливе 27 мая 1905 года. Эскадра Рожественского состояла из 8 эскадренных броненосцев, 3 броненосцев береговой обороны, одного броненосного крейсера, 8 крейсеров, 5 вспомогательных крейсеров и 9 эскадренных миноносцев. Японский флот под командованием адмирала Того располагал 4 эскадренными броненосцами, 6 броненосцами береговой обороны, 8 броненосными крейсерами, 16 крейсерами, 24 вспомогательными крейсерами и 63 эскадренными миноносцами. На стороне японцев было качественное превосходство в артиллерии. Японские орудия обладали почти втрое большей скорострельностью, а японские снаряды были мощнее русских снарядов такого же калибра.
К моменту прибытия эскадры Рожественского на Дальний Восток броненосные корабли японцев сосредоточились в корейском порту Мозампо, а крейсера и миноносцы – у острова Цусима. К югу от Мозампо, между островами Гото и Квельпарт, был развернут дозор из крейсеров, который должен был обнаружить подход русских сил. Японский командующий был уверен, что неприятель попробует прорваться во Владивосток кратчайшим путем – через Корейский пролив, и не ошибся.
В ночь на 27 мая эскадра Рожественского приблизилась к Корейскому проливу в походном ордере. Впереди двигались два легких крейсера, за ними в двух кильватерных колоннах шли броненосцы, а за ними – остальные корабли. Рожественский не произвел дальней разведки и не осуществил затемнения на всех своих судах. В 2 часа 28 минут ночи японский вспомогательный крейсер «Синано-Мару» обнаружил неприятеля и доложил командующему. Того вывел флот из Мозампо.