The German star now leads the title race with 68 points ahead of Hamilton on 61. Vettel immediately latched onto the back of the Finn, while Hamilton remained a lurking threat as the race began to settle in.
"In the end, it didn't happen, but the team tried which I completely understand".
Verstappen was helpless as he watched his vehicle go straight on at turn 4 and into the barriers at low speed and out of the race.
The safety vehicle 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. Mercedes took advantage of the Safety Car to swap tyres - Bottas onto another set of supersofts and Hamilton onto soft tyres thus opening the door to a one-stop strategy - but had to double stack which allowed Ricciardo to leapfrog Hamilton.
Starting from third on the grid, Vettel jumped Hamilton at the start of the race and ran second to Valtteri Bottas early on before an early pit stop and Safety Car period saw the German take the lead.
The safety vehicle came in at the end of Lap 16, with Vettel leading the field to the green flag.
Valtteri Bottas leads the pack as they round turn one on lap one of the Bahrain Grand Prix.
Results were largely predictable: only on one occasion was one of Rosberg and Hamilton not on the podium in the entire season - with Daniel Ricciardo, Sebastian Vettel and Max Verstappen occasionally able to show their class and break the carbon fibre ceiling.
Ferrari driver Sebastian Vettel of Germany steers his vehicle during the Bahrain Formula One Grand Prix, at the Formula One Bahrain International Circuit in Sakhir, Bahrain, Sunday, April 16, 2017.
Ultimately, Vettel crossed the line six seconds clear of Hamilton but the Mercedes appeared to hold a strong pace advantage over the Ferrari in the final segment of the race. Vettel pitted three laps later and dropped to third behind Raikkonen, who had recovered from his slow start but was still yet to make a second stop.
Meanwhile, Alonso retired one lap from the end.
On lap 31 Bottas was the first of the two-stoppers to pit with Vettel in three laps later.
The victory was Vettel's second of the season after the four-times World Champion won the opener in Australia.
"We lost a lot of points, especially at the moment with the state the vehicle is, we should have taken a lot of points, and a bit unfortunate", the Dutchman said.
It was Vettel's third win in Bahrain and the 44th of his career, a landmark that left him satisfied with his and the team's work which proved that Ferrari, who employed an aggressive strategy, are back as championship contenders.
He charged, on the freshest rubber of the leaders, and was two seconds a lap quicker than Bottas and just over a second up on Vettel, with the team telling him he had the pace to win. With 10 laps to go, the gap stood at 12 seconds. By lap 50 Vettel had caught up with traffic, and Hamilton seized this opportunity to trim Vettel's lead to 8.9s.
Ricciardo bounced back from his tire woes on the restart to finish fifth, comfortably clear of Felipe Massa in P6.
Germany's Nico Hulkenberg was ninth for Renault, that team's first points of the year, and French rookie Esteban Ocon bagged the final point for Force India. As I said, losing points for the team, particularly when you could have potentially won the race is painful, but it is what it is.
Daniil Kvyat steps into his Toro Rosso auto ahead of practice in Bahrain. Fernando Alonso was complaining that he had "never" driven a race with such little power in his auto.