Communist lawmaker Anatoly Lokot won 43.75 per cent of the vote against the acting mayor Vladimir Znatkov from the ruling United Russia party, who took 39.57 per cent, the Siberian city's electoral commission said.
"We have created a unique situation in Russia where a united opposition managed to claim victory over United Russia," Lokot was quoted as saying on the Communist Party website.
Lokot won after another opposition candidate, Ilya Ponomaryov, from the left-leaning A Just Russia party, quit the race and told his supporters to back Lokot as the single opposition candidate.
Ponomaryov has coordinated a number of anti-Putin protests and was the only lawmaker last month to vote against incorporating Crimea into Russia.
Novosibirsk, a city of 1.5 million residents around 2,800 kilometres east of Moscow, is famed as a scientific centre with a renowned university.