Johan Kristoffersson claimed his sixth win of the 2018 World Rallycross championship with a fightback drive at Trois-Rivieres.
Kristoffersson was just ninth on day one and so the points leader entered day two with a damage limitation strategy.
He set the fastest times in Q3 and Q4 to elevate himself to the top of the intermediate classification by a single point ahead of overnight leader Sebastien Loeb, who had dropped time in Q3 after post-joker lap contact with Mattias Ekstrom.
Volkswagen driver Kristoffersson then led both the semi-final and final throughout in dominant fashion.
He might have had to fight harder for his second consecutive Canadian victory had compatriot Timmy Hansen not made a mistake at Turn 5 on the opening lap of the final and lost a second to the race leader.
Hansen was able to hold onto his wayward Peugeot 208 and remained second on track, with Ekstrom, Petter Solberg and Loeb bunching up behind, while Janis Baumanis dived straight for the joker.
Ekstrom had made the best start away from the line, but after fellow Audi driver Andreas Bakkerud stormed his way between Loeb and Hansen to get into the lead of semi-final two from the second row, Kristoffersson and Hansen closed the gap.
This left the double DTM champion no way through, while behind the leading trio Solberg slammed the door on Loeb as they headed into Turn 1.
Solberg took his joker on the second tour and remained ahead of Baumanis, before Ekstrom and then Hansen did likewise on the next two laps to cover off those behind.
This promoted Loeb up to second adrift of Kristofferson.
Aware that Hansen, driving Peugeot's new 208 WRX, had the pace to challenge him for victory if he made even a small error, Kristoffersson also took his joker on lap five to fend off the threat, and was followed by Loeb.
Hansen cleared his team-mate to take back second, but Kristoffersson was clear in front and managed the gap for the final lap to secure another victory and further extend his standings lead to 55 points.
Outside the top three, Solberg hassled Ekstrom for fourth for the final two laps but could find not find a way by.
Final results - six laps
|1||Johan Kristoffersson||PSRX Volkswagen Sweden||Volkswagen||5m00.190s|
|2||Timmy Hansen||Team Peugeot Total||Peugeot||0.696s|
|3||Sebastien Loeb||Team Peugeot Total||Peugeot||2.147s|
|4||Mattias Ekstrom||EKS Audi Sport||Audi||3.366s|
|5||Petter Solberg||PSRX Volkswagen Sweden||Volkswagen||4.038s|
|6||Janis Baumanis||Team Stard||Ford||9.950s|