Vettel holds on to win again in Bahrain with Alonso in seventh
The German took his second win in as many races but had to judge it perfectly as Bottas chased him down. McLaren's Fernando Alonso was seventh with Sainz 11th.
Four seconds. Two seconds. One and a half. Four tenths. In two laps Valtteri Bottas was closing in on eventual winner Sebastian Vettel who managed to hold out.
Vettel two wins from two
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 crossed the line with Valtteri Bottas on his tail and the Finn's Mercedes team-mate Lewis Hamilton in third in a nail-biting finish to an intriguing contest.
It was Vettel's second win in as many races this season and extended his lead ahead of Hamilton in the drivers' championship after the Englishman delivered a dazzling drive from ninth on the grid to finish only six seconds adrift.
Another superb drive by Frenchman Pierre Gasly took him to a stunning fourth place for the Honda-powered Toro Rosso team ahead of Dane Kevin Magnussen of Haas.
Vettel's Ferrari team-mate Kimi Raikkonen failed to finish after colliding with a mechanic at a pit stop while both Red Bulls driven by Max Verstappen and Daniel Ricciardo also retired.
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.