Vettel was the overwhelming favourite to claim his third win from the opening four races after securing his first pole position in nearly two years, and with Raikkonen alongside him, Ferrari's first front-row lockout since France in 2008.

But it was Bottas, the Finnish driver who has replaced defending champion Nico Rosberg at Mercedes this year, fastest out of the blocks when the lights turned green.

Bottas starting from third immediately pulled alongside Raikkonen before using the tow off Vettel's Ferrari to take the lead on the 220mph run down to turn two.

It was just what the doctor ordered after Bottas' disappointing showing in Bahrain a fortnight ago where he started from pole position but was ordered to move out of Hamilton's way before finishing a distant third.

For Hamilton, he started well, but was caught up in a Raikkonen-Daniel Ricciardo sandwich and had to settle for fourth in the opening exchanges. Indeed that is where he would finish on a desperately disappointing day for Britain's triple world champion.

It was a bad day again for Fernando Alonso - who failed to even start the race after his Honda engine packed up as the Spaniard made his way to the grid. And Britain's Jolyon Palmer had another day to forget.

Palmer, who crashed out of qualifying on Saturday, was in the wall at turn two, although it looked as though Romain Grosjean was at fault.

The Haas driver bumped into Palmer, who lost control of his Renault and then inadvertently took both he, and Grosjean out of the race.

"For f*** sake, I am out," Palmer bemoaned on the radio. "He [Grosjean] was too ambitious," Palmer added. "If you come in from the inside, it always bunches on the apex. I had cars outside me. I had to turn the corner and hope he used his brain."

The safety car was instantly deployed before returning to the pit lane at the end of lap three.

From there Bottas took charge, but Hamilton, in the sister Mercedes, was having a race to forget. The British driver, who has won two times in Sochi, was having trouble with the soaring temperatures on his Mercedes car.

He was certainly out of contention for the victory, and despite getting to within two seconds of Raikkonen, never threatened the Ferrari driver for the final place on the podium. He finished 25.3 seconds behind the Finn.

At the front, Vettel stopped seven laps later than Bottas, in an attempt to leapfrog the Mercedes man. But despite ending the race on fresher tyres he was unable to get close enough to Bottas to prevent him from winning the first race of his grand prix career. Bottas is now just 10 points behind Hamilton in third place in the championship.

Max Verstappen finished fifth for Red Bull with Sergio Perez sixth. Russian President Vladimir Putin arrived midway through the race before taking his seat in an awkward sandwich between Bernie Ecclestone and Chase Carey, the American who deposed him as the sport's chairman.

"Amazing," Bottas said as he reflected on becoming only the fifth Finn to win a grand prix. "It took quite a while - more than 80 races - but it is definitely worth the wait and definitely worth the learning curve.

"The strange opportunity to join this team came in the winter and they made it possible so thanks to them."

Vettel added: "I tried everything to catch Valtteri and I thought there may be an opportunity, but it doesn't matter. This is the man of the race and a big congrats to Valtteri. It is his day.

"We tried everything but we lost the race at the start. I had a good start, it was a match with Valtteri, but he had a massive tow. I defended the inside, but by the time we approached the braking zone he was in front and shut the door. That is where he won the race."