The Ferrari driver took his second win of the season after jumping Lewis Hamilton for second at the first corner, and getting ahead of Valtteri Bottas for the lead by being the first frontrunning vehicle to make a pitstop.
With two wins from the opening three races of the season, Vettel is pitted in a championship battle with Lewis Hamilton, who finished above his Mercedes team-mate and pole-sitter Valtteri Bottas for second, but was unable to chase down the race victor despite a fast-finishing strategy.
Hamilton had pitted behind Valtteri Bottas, who had started on pole but finished third, and because both Mercedes drivers came in under the safety vehicle at the same time the Briton had to wait while his team-mate took new tyres.
Despite twice being let through by team-mate Valtteri Bottas, Hamilton was unable to chase down Vettel and had to settle for second, finishing 6.6 seconds behind the Ferrari driver.
In a race which saw Valtteri Bottas, Vettel and Hamilton all lead at different stages of the race, Ferrari's decision to pit early ultimately won it, as did a Safety Car period which forced Mercedes to double stack its drivers at the pit stop.
In a congested pit lane, Hamilton was deemed by race stewards to have driven "unnecessarily slowly" in front of Red Bull Racing's Daniel Ricciardo.
"The team has done a really, really great job, we need to make sure we keep it going and keep enjoying it".
"I think there would have been a possibility", he said.
This was a very tactical race, and Vettel made the correct calls.
"The vehicle was a dream today ... the last half of the in-lap with the fireworks & the track lit up, I just thought I love what I do", he added.
"The pitlane [situation] was really my fault, so apologies to the team for losing time there", said Hamilton. "The factory has come alive and hopefully the success in the last few races helps us".
Vettel came in for new tires on lap 11, prompting Red Bull's Max Verstappen to pit on the next lap.
The safety auto appeared on track after 18-year-old Canadian newcomer Lance Stroll, suffering his third retirement in three races, turned into Toro Rosso's Carlos Sainz as the Spaniard left the pits.
Near the end of the Bahrain GP, Hamilton had good pace on Vettel, but the gap was just too wide and there was the penalty to consider as well. On lap 36 Vettel caught Raikkonen and the Ferraris traded position, giving Vettel a clear road to hunt down Hamilton who was still in the lead.
"A challenging weekend", said Hamilton. Fernando Alonso retired one lap from the end, while his teammate Stoffel Vandoorne did not even start because of engine failure.