The Mercedes driver backed up a superlative performance in qualifying
, leading from start to finish at the Circuit Gilles Villeneuve to claim a sixth win at the circuit.
If it was plain sailing for the Briton it was anything but for Vettel who suffered front wing damage on lap one which forced him into an early pit stop and meant the Ferrari driver was playing catch up for the remainder of the race.
The German would eventually battle his way back to fourth place, dramatically passing both Force India cars in the closing laps.
Ahead of him, Hamilton's teammate Valtteri Bottas took second with Red Bull Racing's Daniel Ricciardo claiming the final podium spot.
"I had my first pole and I had my first win here 10 years ago," Hamilton said. "To repeat it this weekend is incredible."
Hamilton's record is remarkable in Montreal -- his six wins in 10 races leaves him one shy of Michael Schmacher's record total of seven victories at the circuit.
Sunday's full quota of points sees him claw back vital ground with Vettel in the title fight following Mercedes' poor showing in Monaco two weekends ago -- both Hamilton and Bottas failed to make the podium.
Seven races in, Hamilton now trails Vettel by 12 points with both men having three wins each this season.
Bottas remains third while Ferrari's Kimi Raikkonen is fourth -- the Finn could only finish seventh on Sunday.
Hamilton escaped a chaotic start to the race as the chasing pack converged at the first corner.
Max Verstappen surged from fifth to second, clipping Vettel's front wing on his way past before Felipe Massa was taken out by a spinning Carlos Sainz after the Toro Rosso driver had lost control following contact with Romain Grosjean's Haas car in the approach to Turn 3.