Passing his imperial examinations for bureaucratic positions, he was assigned as a magistrate to what is now Bozhou in Anhui Province.
He later joined his forces to that of the Huai Army, and assisted Sengge Rinchen in the suppression of the Taiping rebellion, and subsequently (in 1869) fought in the Dungan revolt under the command of Zuo Zongtang.
From 1880, Song worked under Li Hongzhang towards overseeing the defence of Manchuria against the Russian Empire, and from 1882 had been stationed in strategic port of Lushunkou, home of the Beiyang Fleet, but did little in the decade that he was there to either strengthen its defenses or improve on the training of his men.
After the Qing defeat at the Battle of Pyongyang in the First Sino-Japanese War, Li Hongzhang appointed Song as his deputy commander and assigned him the responsibility for defending the crossing of the Yalu River.
However, the appointment was unpopular with his troops, who equated his lethargic attitude with cowardice, and who deserted in large numbers before and during the Battle of Jiuliancheng.