While Vettel swept to victory in Sunday's Bahrain Grand Prix, Raikkonen was once again unable to match his team-mate for pace, finishing 22 seconds adrift in fourth place after passing Williams' Felipe Massa twice.
The result sees Vettel take a seven point lead over Hamilton in the drivers' championship and Ferrari move three points clear of Mercedes in the constructors'.
Hamilton had pitted behind Valtteri Bottas, who had started on pole but finished third, and because both Mercedes drivers came in under the safety auto at the same time the Briton had to wait while his team-mate took new tyres.
Vettel and Hamilton were level with a win each, but Vettel's second victory of the season and 44th of his career puts him in command heading into the Russian GP in Sochi in two weeks' time. "I tried my hardest to catch up", said Hamilton, who thanked Bottas for his help.
Hamilton's hopes were also hit when the British driver was given a five-second time penalty early into the race for driving too slowly in the pit lane and holding up Red Bull's Daniel Ricciardo, who finished fifth.
Mercedes team boss Toto Wolff said such orders were "a call you don't like to make", with the team's two drivers officially assured of equal terms and treatment despite their track records. After serving his five-second penalty, Hamilton rejoined in third with nothing to lose.
The Briton served the penalty at his second stop, frustration evident from his shaking helmet, before charging back and taking more than a second a lap out of Vettel's advantage.
"The pitlane was my fault and apologies to the team".
Bottas kept the lead for the opening laps, with Vettel close behind in a five-car train. The incidents were coming fast, with 18-year-old Lance Stroll hit from the side on lap 13 by Carlos Sainz Jr. - forcing the safety vehicle to come out. "We all had more or less the same start, and Lewis stuck with Valtteri so I could take a risk under braking and get the move done [around the outside of Turn 1]".
Max Verstappen, who started in sixth, was running well until his Red Bull inexplicably had a brake failure shortly after the teenager had pitted on lap 12. "But the early pit stop worked", said Vettel. "Lewis was a threat towards the end and with the traffic you never know".
Ferrari's Kimi Raikkonen was fourth.
Romain Grosjean battled through to take eighth for Haas ahead of Nico Hulkenberg of Renault and Esteban Ocon in the second Force India.
McLaren's nightmare continued with Belgian Stoffel Vandoorne failing to start and Fernando Alonso retiring on the final laps but classified 14th.
Alonso could be heard on the team radio complaining about the complete lack of power his auto had and eventually retired at the death of the race.