Championship leader Sebastian Vettel, who had started on pole position alongside Ferrari team mate Kimi Raikkonen, extended his advantage to 13 points with second place after putting Bottas under huge pressure at the finish.
The German crossed the line just 0.6 seconds behind a man who joined Mercedes from Williams in January as replacement for retired 2016 champion Nico Rosberg and was finally a winner after 81 starts.
"Took quite a while, huh?," said the Finn over the radio as he took the chequered flag, an expletive bleeped out for the listening world as he whooped in a rare outburst of emotion. "Worth the wait."
Russian Grand Prix
Vettel says 'amazing' stint key to Bottas win
30/04/2017 AT 15:29

Bottas wins in Russia

Image credit: Getty Images

"This strange opportunity came over the winter to join this team and I have to thank the team for making this possible," he added after meeting Russian president Vladimir Putin before spraying champagne on the podium.
"First win and hopefully first of many... it's a good feeling."
It was the first time in four years, since Raikkonen won with Lotus in Australia in 2013, that a Finnish driver had stood on the top step.
Raikkonen made it two Finns in the top three with Britain's Lewis Hamilton, Vettel's closest rival, struggling to match the leaders' pace and finishing fourth for Mercedes.

Valtteri Bottas (Mercedes), Sebastian Vettel, Kimi Räikkönen (Ferrari) - GP of Russia 2017

Image credit: Getty Images

Vettel now has 86 points after the opening four races with triple champion Hamilton, a winner in China, second on 73 and Bottas third with 63.
Mercedes continued their record of winning every Russian Grand Prix since the first in 2014, this time against the odds after Ferrari had swept the front row for the first time in nine years.
But their proud boast of also leading every lap around the Olympic Park circuit disappeared when Vettel briefly led following Bottas's first pitstop.
After an aborted start, with Fernando Alonso's McLaren breaking down on the formation lap, Bottas seized the lead from third on the grid.

Valtteri Bottas (Mercedes), Sebastian Vettel (Ferrari) - GP of Russia 2017

Image credit: Getty Images

The safety car was then deployed after a collision between Renault's Jolyon Palmer and Haas's Romain Grosjean put both out, and the race settled down into a procession before the nail-biting finale.
"I tried everything to catch Valtteri. I thought there would be an opportunity on the back straight," said Vettel, winner of two of the first three races for his resurgent Italian team.
"I thought there was an opportunity but I was not sure what Felipe Massa would do and ended up losing out," he added, with the Williams driver delaying him at a key point in the chase.
"It doesn't matter, though. Big congratulations to Valtteri. It is his day."
Red Bull's Dutch teenager Max Verstappen finished fifth with Sergio Perez chalking up his 14th successive points finish for Force India and French team mate Esteban Ocon seventh.
Nico Hulkenberg was eighth for Renault, with Massa ninth for Williams and Spaniard Carlos Sainz taking the final point for Toro Rosso.
Canadian rookie Lance Stroll finally reached the finish line after three retirements in a row and took 11th place for Williams.
Russian Grand Prix
First Formula 1 win 'surreal' for Bottas
30/04/2017 AT 15:19
Russian Grand Prix
Russian Grand Prix qualifying: Ferraris fearsome, Mercedes shocked
29/04/2017 AT 13:08