
The details of Kuropatkin's battle plan appeared in a Paris newspaper before his own troops had finished moving into position. A war correspondent for L'Echo de Paris had obtained them from sources in St. Petersburg and credited the strategy to General Oskar Gripenberg, the newly arrived commander of the Russian 2nd Manchurian Army. So much for the element of surprise. The Battle of Sandepu, fought in the villages southwest of Mukden from 25 to 29 January 1905, was doomed before the first shot was fired -- not by the enemy, but by the dysfunction that had come to define the Russian war effort in Manchuria.
The strategic logic was sound, even if the execution was disastrous. After the stalemate at the Battle of Shaho in October 1904, both armies had dug in south of Mukden through the frozen Manchurian winter. Port Arthur had fallen to the Japanese on 2 January 1905, which meant General Nogi Maresuke's battle-hardened Third Army would soon march north to reinforce the Japanese lines. Kuropatkin calculated he had a narrow window to strike before those reinforcements arrived. His plan called for a flanking assault on the exposed Japanese left wing near the village of Heikoutai, roughly 36 miles southwest of Mukden, using Gripenberg's 2nd Manchurian Army to drive General Oku's Japanese 2nd Army back across the Taitzu River.
Kuropatkin opened with a supporting operation that collapsed almost immediately. General Pavel Mishchenko rode south with 6,000 cavalry and six batteries of light artillery, tasked with destroying the Japanese supply depot at Newchang Station on the South Manchurian Railroad. Bad weather, lack of forage, and unexpectedly slow progress across the frozen landscape delayed the force for four days. By the time Mishchenko reached Newchang on 12 January, the Japanese had heavily reinforced the station. Three attacks failed. His dragoons tore up sections of rail track on the ride back, but Japanese repair crews restored the damage almost immediately. The raid consumed ten days and accomplished nothing.
The main assault began on 25 January when the 1st Siberian Rifle Corps attacked the fortified village of Heikoutai, taking it at severe cost. The following day, the Russian 14th Division was supposed to attack the nearby village of Sandepu in coordination with the Siberians, but the timing fell apart. The 14th Division attacked a day late, on 26 January. Rather than reinforce the faltering assault, Gripenberg sent a false report to Kuropatkin claiming that Sandepu had been captured and ordered his men to rest on 27 January. The rest area he assigned to General Stackelberg's troops turned out to be in Japanese hands. Stackelberg, violating standing orders, attacked anyway and lost 6,000 men -- some sources estimate over 20,000. Japanese casualties totaled around 9,000.
The battle ended in a tactical stalemate, with neither side willing to claim victory. The strategic consequences, however, were devastating for Russia. The failed offensive consumed the last opportunity to change the war's trajectory before Nogi's Third Army arrived, and it exposed the depth of the command dysfunction that plagued the Russian military in Manchuria. Gripenberg's newspaper controversy provided useful ammunition for Marxist agitators back in Russia, who used the generals' public feuding and Kuropatkin's record of incompetence to build support for their campaign against the tsarist government. The revolution simmering at home and the defeats accumulating in Manchuria were feeding each other, and the Battle of Sandepu was another log on both fires. The next confrontation, at Mukden in February, would dwarf everything that came before.
Located at 41.78°N, 123.43°E, about 36 miles southwest of Mukden (present-day Shenyang) in Liaoning Province. The flat terrain where the battle took place is characteristic of the Manchurian plains. The villages of Sandepu and Heikoutai were small agricultural settlements. Nearest major airport is Shenyang Taoxian International (ZYTX), approximately 40 km to the northeast.