По решению японского главнокомандующего маршала Ивао Ояма армия Марэсукэ Ноги начала осаду Порт-Артура, в то время как 1-я, 2-я и высадившаяся у Дагушаня 4-я армии двинулись на Ляоян с юго-востока, юга и юго-запада. В середине июня армия Куроки заняла перевалы к юго-востоку от города, а в июле отразила попытку контрнаступления русских. Армия Ясуката Оку после сражения у Дашичао в июле захватила порт Инкоу, перерезав связь Маньчжурской армии с Порт-Артуром по морю. Во второй половине июля три японские армии соединились под Ляояном, их общая численность составляла более 120 тысяч против 152 тысяч русских. В сражении под Ляояном 24 августа – 3 сентября 1904 года (11–21 августа по ст. ст.) обе стороны понесли огромные потери: русские потеряли более 16 тысяч убитыми, а японцы – 24 тысячи. Японцы не смогли окружить армию Алексея Куропаткина, которая в полном порядке отошла к Мукдену, но они овладели Ляояном и Янтайскими каменноугольными копями.
Отступление к Мукдену означало для защитников Порт-Артура крах надежд на какую-либо действенную помощь со стороны сухопутных войск. 3-я японская армия захватила Волчьи горы и начала интенсивный обстрел города и внутреннего рейда. Несмотря на это, несколько предпринятых ею в августе штурмов были отбиты гарнизоном под началом генерал-майора Романа Кондратенко; осаждавшие потеряли 16 тысяч убитыми. В то же время на море успех сопутствовал японцам. Попытка прорыва Тихоокеанского флота во Владивосток в конце июля провалилась, контр-адмирал Витгефт погиб. В августе эскадре вице-адмирала Хиконодзё Камимуры удалось настигнуть и разгромить крейсерский отряд контр-адмирала Иессена.
К началу октября 1904 года благодаря подкреплениям численность Маньчжурской армии достигла 210 тысяч, а японских войск под Ляояном – 170 тысяч.
Опасаясь, что в случае падения Порт-Артура силы японцев значительно возрастут за счёт высвободившейся 3-й армии, Куропаткин предпринял в конце сентября наступление на юг, но потерпел поражение в сражении на реке Шахэ, потеряв 46 тысяч убитыми (противник – лишь 16 тысяч) и перешёл к обороне. Началось четырёхмесячное «Шахэйское сидение».
В сентябре – ноябре защитники Порт-Артура отразили три японских штурма, но 3-й японской армии удалось овладеть господствующей над Порт-Артуром горой Высокой. 2 января 1905 года (20 декабря 1904 года по ст. ст.) начальник Квантунского укреплённого района генерал-лейтенант Анатолий Стессель, не исчерпав всех возможностей для сопротивления, сдал Порт-Артур (весной 1908 года военный суд приговорил его к смертной казни, заменённой десятилетним тюремным заключением).
Падение Порт-Артура резко ухудшило стратегическое положение русских войск, и командование попыталось переломить ситуацию, однако успешно начатое наступление 2-й Маньчжурской армии на деревню Сандепу не было поддержано другими армиями. После присоединения к основным силам японцев 3-й армии Ноги их численность сравнялась с численностью русских войск.
В феврале армия Тамэмото Куроки атаковала 1-ю Маньчжурскую армию юго-восточнее Мукдена, а армия Ноги начала обход русского правого фланга. Армия Куроки прорвала фронт армии Николая Линевича. 10 марта (25 февраля по ст. ст.) 1905 года японцы заняли Мукден. Потеряв более 90 тысяч убитыми и пленными, русские войска в беспорядке отступили на север к Телину. Крупнейшее поражение под Мукденом означало проигрыш русским командованием кампании в Маньчжурии, хотя ему и удалось сохранить значительную часть армии.
Пытаясь добиться перелома в войне, российское правительство отправило на Дальний Восток созданную из части Балтийского флота 2-ю Тихоокеанскую эскадру адмирала Зиновия Рожественского, однако 27–28 мая (14–15 мая по ст. ст.) в Цусимском сражении японский флот уничтожил русскую эскадру. До Владивостока добрались только один крейсер и два миноносца. В начале лета японцы полностью вытеснили русские отряды из Северной Кореи, а к 8 июля (25 июня по ст. ст.) овладели Сахалином.
Несмотря на победы, силы Японии были истощены, и в конце мая через посредство президента США Теодора Рузвельта она предложила России вступить в мирные переговоры. Россия, оказавшаяся в тяжёлой внутриполитической ситуации, ответила согласием. 7 августа (25 июля по ст. ст.) в Портсмуте (штат Нью-Хэмпшир, США) открылась дипломатическая конференция, завершившаяся 5 сентября (23 августа по ст. ст.) 1905 года подписанием Портсмутского мира. Согласно его условиям Россия уступала Японии южную часть Сахалина, права на аренду Порт-Артура и южной оконечности Ляодунского полуострова и южную ветку КВЖД от станции Чаньчунь до Порт-Артура, позволяла её рыболовному флоту вести промысел у берегов Японского, Охотского и Берингова морей, признавала Корею зоной японского влияния и отказывалась от своих политических, военных и торговых преимуществ в Маньчжурии. В то же время Россия была освобождена от уплаты каких-либо контрибуций.