Taking full advantage of generous, if grim-faced, support from his team-mate Kimi Raikkonen, who led from pole position until the pit-stops, the four-time champion came home 3.1 seconds clear of the Finn in glorious Mediterranean sunshine.
Vettel’s success was Ferrari’s first in the principality in 16 years since seven-time champion Michael Schumacher triumphed in 2001.
It was the 82nd 1-2 in the team’s history and celebrated noisily by the tifosi who had thronged into the circuit overnight.
It was also the 29-year-old German’s second Monaco triumph, his third win this year and the 45th of his career, lifting him 25 points clear of Mercedes' Hamilton in the title racxe.
Vettel now has 129 points after six rounds of this year’s 20-race championship ahead of Hamilton on 104.
“Yes, yes, yes,” screeched Vettel after winning before launching into thanks for his team. “The two laps with old tyres, I gave it everything I had,” he said.
Raikkonen was stoney-faced and more taciturn than usual when retired 2016 champion Nico Rosberg interviewed him by the podium.
“Hard to say, really,” he responded when asked about his feelings. “It’s second place and it doesn’t feel good. This is how it is sometimes.”
Australian Daniel Ricciardo, who was unlucky not to win last year, finished third for Red Bull, despite hitting the barrier at Ste Devote, ahead of Valtteri Bottas of Mercedes and Dutch teenager Max Verstappen in the second Red Bull.
“I didn’t enjoy that!” said Ricciardo. “I wasn’t sure if I damaged anything. These tyres are like driving on ice when you get a Safety Car…”
Carlos Sainz was a well-judged sixth for Toro Rosso ahead of Hamilton, who had started 13th, and Frenchman Romain Grosjean of Haas.
Briton Jenson Button, back for one race to replace two-time champion Fernando Alonso, racing at the Indianapolis 500 later Sunday, retired his McLaren fter a collision with Pascal Wehrlein’s Sauber.
The crash left Wehrlein’s car on its side at Portier, but he was unhurt in the crash, which required a Safety Car intervention for six laps in the closing stages.
Vettel was quick to ask if his compatriot was ok before the action resumed.
He added: “It’s unbelievable. This was such an intense race. I hoped to have a better launch, but Kimi had a really good start so I had to be patient.
“It is very special to win here and we will have a fun night and then enough time to prepare for Canada…
“I had a couple of really good laps when I could take control of the pace and I was able to use the Safety Car.”
Vettel’s joy appeared not to be shared by Raikkonen who remained evasive in interviews after the race and, under specific questions, conceded that it was not his idea to be the first to pit when he was leading.
“I was called in… That was about it,” he said.
Shrugging his shoulders, he later added: “It is a great result for the team and that is the main thing…”
On a perfect afternoon on the Cote d’Azur, the track temperature was 50 degrees and the air 26 as the drivers stood for a minute’s silence in memory of the victims of the Manchester terrorist attack.
The conditions were ideal for sunbathing, but not for race incidents.
When Vettel pitted after 39 laps, he rejoined in the lead ahead of Raikkonen with Ricciardo third, thanks to fast pre-stop laps, and Bottas fourth.
For Ferrari, it seemed a perfectly executed plan to enable Vettel to win, and boost his drivers’ championship bid, had unfolded.
Hamilton finally came in after 45 laps from sixth, rejoining seventh, but Vettel was out of sight, nine seconds down the road and clear of Raikkonen, with Ricciardo a further five seconds adrift in third.
By lap 50, it was 10.2 seconds and the paddock was abuzz with claims about Vettel’s undisputed status as Ferrari’s number one driver.
Attention was soon refocused on the track when, on lap 60, the Safety Car was deployed after Wehrlein was tipped into the barrier at Portier.
Verstappen took advantage of the pause to pit for fresh ultra-soft tyres before, when the action resumed after 66 laps, the final chase, and battle of attrition, began. -AFP
Monaco Grand Prix: Results
1. Sebastian Vettel (Germany) Ferrari 1:44:44.340
2. Kimi Raikkonen (Finland) Ferrari +00:03.145
3. Daniel Ricciardo (Australia) Red Bull – TAG Heuer 00:03.745
4. Valtteri Bottas (Finland) Mercedes 00:05.517
5. Max Verstappen (Netherlands) Red Bull – TAG Heuer 00:06.199
6. Carlos Sainz Jr (Spain) Toro Rosso – Renault 00:12.038
7. Lewis Hamilton (Britain) Mercedes 00:15.801
8. Romain Grosjean (France) Haas – Ferrari 00:18.150
9. Felipe Massa (Brazil) Williams-Mercedes 00:19.445
10. Kevin Magnussen (Denmark) Haas – Ferrari 00:21.443
11. Jolyon Palmer (Britain) Renault 00:22.737
12. Esteban Ocon (France) Force India – Mercedes 00:23.725
13. Sergio Perez (Mexico) Force India – Mercedes 00:39.089
14r. Daniil Kvyat (Russia) Toro Rosso – Renault 7 laps
15r. Lance Stroll (Canada) Williams-Mercedes 7 laps
r. Stoffel Vandoorne (Belgium) McLaren 12 laps
r. Marcus Ericsson (Sweden) Sauber – Ferrari 15 laps
r. Jenson Button (Britain) McLaren 21 laps
r. Pascal Wehrlein (Germany) Sauber – Ferrari 21 laps
r. Nico Huelkenberg (Germany) Renault 63 laps
Sergio Perez,1:14.820, lap 76.
1. Sebastian Vettel (Germany) Ferrari 129
2. Lewis Hamilton (Britain) Mercedes 104
3. Valtteri Bottas (Finland) Mercedes 75
4. Kimi Raikkonen (Finland) Ferrari 67
5. Daniel Ricciardo (Australia) Red Bull 52
6. Max Verstappen (Netherlands) Red Bull 45
7. Sergio Perez (Mexico) Force India 34
8. Carlos Sainz Jr (Spain) Toro Rosso 25
9. Felipe Massa (Brazil) Williams 20
10. Esteban Ocon (France) Force India 19
11. Nico Huelkenberg (Germany) Renault 14
12. Romain Grosjean (France) Haas 9
13. Kevin Magnussen (Denmark) Haas 5
14. Pascal Wehrlein (Germany) Sauber 4
15. Daniil Kvyat (Russia) Toro Rosso 4
16. Jolyon Palmer (Britain) Renault 0
17. Marcus Ericsson (Sweden) Sauber 0
18. Lance Stroll (Canada) Williams 0
19. Fernando Alonso (Spain) McLaren 0
20. Antonio Giovinazzi (Italy) Sauber 0
21. Stoffel Vandoorne (Belgium) McLaren 0
1. Ferrari 196
2. Mercedes 179
3. Red Bull – TAG Heuer 97
4. Force India – Mercedes 53
5. Toro Rosso – Renault 29
6. Williams-Mercedes 20
7. Renault 14
8. Haas – Ferrari 14
9. Sauber – Ferrari 4
10. McLaren 0