Championship leader Lewis Hamilton was declared the race winner after Vettel was penalised for squeezing his rival off track as he rejoined during a high-speed incident on lap 50.
The stewards judged that the Ferrari driver had made an unsafe re-entry and forced Hamilton off the circuit when he rejoined after running off across a strip of grass at the first chicane.
"Where could I go?" said an angry Vettel on team radio. "I had nowhere to go... They are stealing the race from us... This is the wrong world. This is not fair."
After initially avoiding the post-race ceremonies, the crestfallen Vettel rejoined to appear on the podium where Hamilton pulled him up to join him on the top step.
Their mutual respect was clear in front of a capacity crowd at the Circuit Gilles Villeneuve.
"Well, first of all, I really enjoyed the race and the crowd on every lap," said Vettel, without a win since last year's Belgian Grand Prix and under pressure to repeat his 2018 success when he won from pole position.
"Seeing them cheer me on... It was very intense. I think you should ask the pit wall what they think, but we had a great show -- and Lewis showed some good respect."
When Hamilton was asked to speak, the crowd began to boo.
"All I can say is that I didn't make the decision," he explained. "So I don't know what they’re booing at."
Vettel intervened. "People shouldn't boo at Lewis," he said. "It wasn't his intention to be in harm's way. So, people shouldn't boo at him. They should boo at those who make the decisions."
- 'Not the way I wanted' -
This unity of respect followed their earlier comments when Hamilton thanked his team.
"Firstly I want to say a big thank-you to my team. It's been a big effort for everyone, with my crash on Friday, to get the car sorted and I wouldn't have been able to race.
"But that's not the way I wanted to win. I forced him into an error and he went wide and we nearly collided. It's unfortunate, but this is racing."
Told that Vettel felt the stewards' verdict was unfair, Hamilton responded: "That's his opinion, of course!
"I took the corner normally and, when you come back on the track, you're not supposed to go on to the racing line."
Hamilton added: "That's not the way I wanted to win, but I would have been past. Physically, I am destroyed. It was such a tough race."
Asked if the stewards' decision would be critical in the title race, Vettel said it was a question of principle above all else.
"It is not about the title now, we deserved to win now and that is our opinion," he said. "It was a great race and the crowd cheered me on all the race. It's a bit weird now, I don't know what else to say.
"It is not making our sport popular. People want to see us race and it was racing. It is just a shame when we have these funny decisions."
Later, speaking to reporters, he added that he regretted racing in the modern era of officious decision-making and corporate language — stirring fresh speculation that he may be considering his future in the sport.
Hamilton's 78th career win was his record-equalling seventh in Canada –- drawing him level with Michael Schumacher -– and lifted him 29 points clear of Mercedes team-mate Valtteri Bottas at the top of the drivers' championship.
It extended Mercedes' record sequence of season-opening wins to seven races, five for Hamilton and two for Bottas.