Sebastian Vettel, on severely-worn tyres, came home narrowly ahead of Valtteri Bottas and the Finn's Mercedes team-mate Lewis Hamilton.

Sebastian Vettel marked his 200th Formula One race with a thrilling and brilliantly-judged victory for Ferrari in Sunday's dramatic Bahrain Grand Prix. The four-time ex-champion, on severely-worn tyres, came home narrowly ahead of Valtteri Bottas and the Finn's Mercedes team-mate Lewis Hamilton in a nail-biting finish to an intriguing contest. French rookie Pierre Gasly took a stunning fourth place for the Honda-powered Toro Rosso team ahead of Kevin Magnussen of Haas. It was Vettel's second win in as many races this season, the 49th of his career and extended his lead ahead of Hamilton in the drivers' championship to 17 points after the Englishman delivered a dazzling drive from ninth on the grid to finish only six seconds adrift. Both have won four championships and, this season, are battling to secure a historic fifth title.

"I came on the radio to say everything was under control, but that was a lie! I thought Bottas would catch me and I just tried to keep it as clean as possible."

Bottas said: "We were on the harder compound and I knew there was a chance. I tried to catch him, but it was just not enough. Extremely disappointing."

Hamilton, who started ninth after being given a five-place penalty for a gearbox change, said he was satisfied. "I am happy," he said. "It was damage limitation. I started ninth so third is not that bad..."

But it was not all good news for Ferrari as Vettel's team-mate Finn Kimi Raikkonen failed to finish after colliding with a mechanic at a pit stop.

The mechanic was taken to the circuit medical centre with a suspected broken leg.

Both the Red Bulls of Max Verstappen and Daniel Ricciardo also retired after the opening laps.

Nico Hulkenberg was sixth for Renault ahead of Fernando Alonso and his McLaren team-mate Stoffel Vandoorne.

Marcus Ericsson grabbed two points for Sauber by finishing ninth ahead of Esteban Ocon, who was 10th for Force India.

Luck ended

The race began with temperatures falling from 29 and 35 degrees Celsius respectively for air and track.

Vettel made a clean start and Bottas swept past Raikkonen to split the Ferraris on the opening lap.

This lifted spirits for Mercedes, but Hamilton, down in ninth to resist a charging lunge by Verstappen at the start of lap two.

From 15th on the grid, the Red Bull driver had reached the top ten, but his luck ended when he banged wheels with Hamilton and punctured his left rear tyre.

As the Dutchman idled back to the pits, his Red Bull team-mate Ricciardo slowed and stopped at the side of the track. A Virtual Safety Car was deployed.

Verstappen pitted and re-joined, but his race was over when, like Ricciardo, he stopped and retired.

This left Hamilton to make up places and after slipping to 10th he regained ninth and then passed Alonso, Hulkenberg and Ocon in one move.

Vettel pitted after 19 laps, passing the lead to Bottas, and rejoining fourth. Two laps later, Raikkonen also came in for a Ferrari pit-stop that elevated Hamilton to second.

Bottas finally pitted after 21 laps, in a 3.8 seconds stop for medium tyres that were expected to see him complete the race - while both Ferrari ran on softs.

In the lead, Hamilton was 5.3 seconds clear of Vettel after 22 laps, an advantage trimmed to half a second by lap 25 with Bottas five seconds adrift in third.

A frustrated Vettel finally burst past the defensive Hamilton, on his original tyres, to regain the lead on lap 26. Hamilton then pitted, also for mediums, which left both Mercedes on a one-stop strategy and Ferrari requiring another stop each.

With further stops required, Ferrari's problems were compounded after 36 laps when Raikkonen came in and inadvertently ran over a mechanic as he pulled away.

It was his second unsafe release of the weekend and his third in a race.

Unaffected, Vettel pushed to make the most of an emergency one-stop strategy, resisting Bottas all the way to the flag.