After watching Ferrari sweep to a one-two finish two weeks ago in Monaco, Mercedes hit back with a dominating display as Hamilton cruised to his 56th career win, a leisurely 19.7 seconds in front of team mate Valtteri Bottas.
Vettel was not particularly slow out of the blocks, but as Bottas dived underneath the German, and Verstappen raced around the outside, the driver who had finished either first or second at every round of the season so far, was suddenly on the back foot.
Hamilton also reserved praise for team-mate Valtteri Bottas, whose aggressive start to the race from third was key to Vettel's demise.
Despite Hamilton's dominant win, however, it was rival Sebastian Vettel who stole the spotlight after Max Verstappen broke part of the German's front wing at the start, forcing him to head to the pits for a replacement.
"It's insane to think I had my first pole and win here 10 years ago".
Bottas said: "As a team we really needed this one-two to get the points and I am very proud of this team and what they have done since Monaco. To come here and deliver what we've delivered is a great blow to the Ferraris".
He exited in 11th place ahead of two-time champion Spaniard Fernando Alonso in his McLaren Honda, Spaniard Carlos Sainz of Toro Rosso, Frenchman Romain Grosjean of Haas and in 15th place Briton Jolyon Palmer of Renault.
"I wanted that podium but I didn't get it", he said.
"In Maranello we will carry out a detailed analysis of the race, making the most of the data gathered as we prepare as well as possible for the next round in Baku", admitted team principal Maurizio Arrivabene.
The crash ushered on the Safety Car for three laps before racing resumed with Verstappen vying for the lead with Hamilton - but not for long.
"I had a little bit of a feel out of Turn 6, and then the safety auto came but I wasn't sure because the first lap of the race, especially because it was very windy today, I thought it might have been a gust On the first lap I thought the tyres were not there". It was pressure, pressure, and I couldn't afford to make a mistake. This led Vettel to pit early in the race for a change of the nose and on re-joining the track in 18th position, he had fallen close to half a minute behind Hamilton, the race leader.
"I know he's had such a hard season", Hamilton told Sky Sports F1.
A technical glitch for Raikkonen promoted Vettel to sixth before he took fifth position after Ocon ran off the road at Turn One with four laps remaining.
"Sebastian was unfortunate", said the Austrian, "but Lewis dominated from the start and our auto was the best".
With two laps to go, Vettel, a man inspired, passed Perez at the final chicane to snatch fourth.
Hamilton's team have been dogged by reliability issues in the 2017 season to this point, but they appeared to turn a corner yesterday when the two cars finished first and second in Canada.