When the Imperial Japanese Army (IJA) landed on the Liaodong Peninsula, Japanese General Ōyama Iwao divided his forces. The IJA 3rd Army under Lieutenant General Nogi Maresuke was assigned to attack the Russian naval base at Port Arthur to the south, while the IJA 1st Army, IJA 2nd Army and IJA 4th Army would converge on the city of Liaoyang. Russian General Aleksey Kuropatkin planned to counter the Japanese advance with a series of planned withdrawals, intended to trade territory for the time necessary for enough reserves to arrive from Russia to give him a decisive numerical advantage over the Japanese. However, this strategy was not in favor with the Russian Viceroy Yevgeni Ivanovich Alekseyev, who was pushing for a more aggressive stance and quick victory over Japan. Both sides viewed Liaoyang as a site suitable for a decisive battle which would decide the outcome of the war.
The battle began on 25 August with a Japanese artillery barrage, followed by the advance of the Japanese Imperial Guards Division under Lieutenant General Hasegawa Yoshimichi against the right flank of the 3rd Siberian Army Corps. The attack was defeated by the Russians under General Bilderling largely due to the superior weight of the Russian artillery and the Japanese took over a thousand casualties. On the night of 25 August, the IJA 2nd Division and IJA 12th Division under Major General Matsunaga Masatoshi engaged the 10th Siberian Army Corps to the east of Liaoyang. Fierce night fighting occurred around the slopes of a mountain called "Peikou", which fell to the Japanese by the evening of 26 August. Kuropatin ordered a retreat under the cover of heavy rain and fog, to the outermost defensive line surrounding Liaoyang, which he had reinforced with his reserves. Also on 26 August, the advance of the IJA 2nd Army and IJA 4th Army was stalled Russian General Zarubaev before the outmost defensive line to the south.
However, on 27 August, much to the surprise of the Japanese and consternation of his commanders, Kuropatkin did not order a counterattack, but instead ordered that the outer defense perimeter be abandoned, and that all Russian forces should pull back to the second defensive line. This line was approximately 7 miles (11 km) south of Liaoyang, and included several small hills which had been heavily fortified, most notably a 210-meter tall hill known to the Russians as "Cairn Hill". The shorter lines were easier for the Russians to defend, but played into Ōyama’s plans to encircle and destroy the Russian Manchurian Army. Ōyama ordered Kuroki to the north, where he cut the railroad line and the Russian escape route, while Oku and Nozu were ordered to prepare for a direct frontal assault to the south.
The next phase of the battle began on 30 August with a renewed Japanese offensive on all fronts. However, again due to superior artillery and their extensive fortifications, the Russians repulsed the attacks on 30 August and 31 August, causing considerable losses to the Japanese. Again to the consternation of his generals, Kuropatkin would not authorize a counter-attack. Kuropatkin continued to overestimate the size of the attacking forces, and would not agree to commit his reserve forces to the battle.
On 1 September, the Japanese 2nd Army had taken Cairn Hill and approximately half of the Japanese 1st Army had crossed the Taitzu River about eight miles east of the Russian lines. Kuropatkin then decided to abandon his strong defensive line, and made an orderly retreat to the innermost of the three defensive lines surrounding Liaoyang. This enabled the Japanese forces to advance to a position where they were within range to shell the city, including its crucial railway station. This prompted Kuropatkin to at last authorize a counter-attack, with the aim of destroying the Japanese forces across the Taitzu River and securing a hill known to the Japanese as "Manjuyama", to the east of the city. Kuroki had only two complete divisions to the east of the city, and Kuropatkin decided to commit the entire 1st Siberian Army Corps and 10th Siberian Army Corps and thirteen battalions under Major General N. V. Orlov (the equivalent of five divisions) against him. However, the messenger sent by Kuropatkin with orders got lost, and Orlov’s outnumbered men panicked at the sight of the Japanese divisions.
Meanwhile, the 1st Siberian Army Corps under General Georgii Stackelberg arrived on the afternoon of 2 September, exhausted by a long march through the mud and torrential rains. When Stackelberg asked General Mishchenko for assistance from two brigades of his Cossacks, Mishchenko claimed to have orders to go elsewhere and abandoned him. The night assault of Japanese forces on Manjuyama was initially successful, but in the confusion, three Russian regiments fired upon each other, and by morning the hill was back in Japanese hands. Meanwhile, on 3 September Kuropatkin received a report from General Zarubayev on the inner defensive line that he was running short on ammunition. This report was quickly followed by a report by Stackelberg that his troops were too tired to continue the counter-attack. When a report arrived that the Japanese First Army was poised to cut off Liaoyang from the north, Kuropatkin then decided to abandon the city, and to regroup at Mukden a further 65 kilometres (40 mi) to the north. The retreat began on 3 September and was completed by 10 September.