Russell led the opening laps before being overtaken twice in as many corners as he took to the run off when Lando Norris passed him on lap 21, which allowed Verstappen to take second place.
The Dutchman then inherited the lead by pitting a lap earlier than Norris when Logan Sargeant brought out the red flag, and when the track became dry enough for slick tyres, Verstappen maintained that advantage.
Another blunder from Russell late on saw him drop to fifth, but he picked off Oscar Piastri and team-mate Lewis Hamilton in the final laps to reclaim third to take Mercedes' first podium of the season.
Here's what the top three had to say after a chaotic Canada race.
This was one of Verstappen's less straightforward victories, and the triple world champion was delighted with his result.
"It was a pretty crazy race, a lot of things were happening. We had to be on top of our calls," he said.
"As a team we did well today. We remained calm, pitted at the right time. The Safety Car worked out nicely for us but even after that, we were managing the gaps quite well.
"I love it. That was a lot of fun. Those kind of races, you need those once in a while."
"It was chaos. It was eventful. To be honest, I felt like I drove a good race the whole time from start to finish. The first two stints were very strong. I had amazing pace.
"But then the safety car had me over, just like it helped me in Miami, it’s now had me back over.
"Honestly, I thought it was a pretty perfect race from my side. Just a bit unlucky, but that’s what it is. But it was good fun. These conditions are so stressful inside the car, but very enjoyable at the same time.
"The first stint I was in the lead by what, 10-12 seconds, pulling away probably 2-3 seconds a lap? Things were going beautifully and of course it’s Montreal, so there’s always something that’s got to come into play.
"But it was good. Fair play to Max. He drove a good race, no mistakes. It was good fun. I’m happy with second. Good points for the team, so a good weekend for us."
"We’re close. It’s nice to be so close once again and on the podium, so we’ll keep fighting."
"It felt like a missed opportunity," Russell said having squandered a huge opportunity from pole. "We were really quick on the inters at the beginning, then Lando came through.
"Then we jumped back on the slicks. I made a couple of mistakes out there, pushing the limits and paid the price for it.
"Nevertheless, first podium of the year. We truly had a fast car this weekend and to be in the mix fighting for victory was really fun. That's what F1 is about and that's why we go racing."
Asked whether he could have won the race, Russell said: "We had the pace. Max was very strong but when we put the mediums on at the end, we were really fast.
"That mistake with Oscar when I tried overtaking him and lost a position to Lewis, cost us at least P2 and maybe we could have thought with Max later in the race. But we will take all the positives from this weekend."