"Float like a butterfly, sting like a bee. That's for Muhammad Ali," said Hamilton over his race radio in tribute to the former three-time heavyweight boxing champion who died last weekend.
Hamilton's Mercedes teammate Nico Rosberg could only finish fifth after the pair tangled on the first corner and has seen his title lead cut to just nine points.
It was a controversial opening to the race in Montreal as Ferrari's Vettel surged past both Rosberg and polesitter Hamilton off the grid.
Hamilton refused to give way as Rosberg attempted to overtake him to his right and the German ended in the escape lane, losing several places.
The eventual outcome was decided by race strategy, with Hamilton pitting only once for a change of tires against the two stops for Vettel.
After his second stop, four-time champion Vettel closed on leader Hamilton to under five seconds, but a pair of mistakes halted his charge and he had to settle for second place.
Valterri Bottas for Williams took the final podium spot after a fine drive ahead of teenage sensation Max Verstappen in the Red Bull.
Rosberg recovered from his early problems to challenge Verstappen for fourth late in the race and moved past him only to lose control at the final chicane, dropping back to fifth.
Kimi Raikkonen finished sixth in the second Ferrari, ahead of Australian Daniel Ricciardo in the second Red Bull and Nico Hulkenberg for Force India.
Spaniard Carlos Sainz was ninth for Toro Rosso and Sergio Perez took the final point in the second Force India.
Two-time reigning champion Hamilton was winning his second straight race after a battling victory in the Monaco GP a fortnight ago.
It has seen him close to within spitting distance of Rosberg, who won the opening four races of the season to build a commanding 43-point lead over his teammate.
It is the second time this season that the pair have clashed off the grid, both going out of the Russian Grand Prix to leave the way for Verstappen to score a memorable victory.
Hamilton acknowledged in the post-race podium interview with Michael Douglas that he was slowly away again.
"Today I had another really bad start, not sure why -- possibly overheated the clutch," he said.
"Feel very grateful that Nico and I didn't damage our cars."
The Gilles Villeneuve circuit is a favorite hunting ground for Hamilton, who took his first victory in Formula One in Canada in 2007 and now has 45 and three world titles to his name.