Simon Pagenaud resisted a late charge from Scott Dixon to claim his third win of the 2019 IndyCar season in Toronto.
The Indianapolis 500 winner led from pole and was putting in a dominant display until the final round of pit stops when the resulting traffic from the cycle allowed fellow front-row starter Dixon to close in.
Dixon, racing with an arm injury, slashed a five second lead to half a second in less than 30 laps.
He had made better use of his push-to-pass in the traffic, leaving Pagenaud on the backfoot and conserving fuel in the closing stages of the race.
With 15 laps to go Dixon was within half a second of Pagenaud, but the Penske driver was able to maintain a gap of within a second as the laps wound down, despite still having to contend with lapped traffic.
Alexander Rossi finished a comfortable but distant third to complete the podium, repassing championship rival Josef Newgarden in the final round of pit stops by stopping a lap earlier.
Newgarden maintained fourth despite hitting a wall hard with four laps to go.
Felix Rosenqvist slipped slightly down the order from his third place grid position to finish fifth, ahead of James Hinchcliffe in sixth and Colton Herta in seventh, who impressed by making up nine positions during the race.
Sebastien Bourdais was eighth, ahead of Graham Rahal and Marco Andretti.
Will Power was set to finish ninth ahead of both Rahal and Andretti until he locked his brakes and ended up in the tyre wall at turn eight on the final lap of the race.
However, that Rahal, Andretti, and Power were even in contention for top-10 positions was impressive given a major incident they were involved with in the opening stages of the race.
Going into turn three on lap two, Power attempted to pass Rahal up the inside but sent the Rahal Letterman Lanigan driver spinning.
Rahal tagged Marco Andretti in the incident, causing him to spin as well, although he was able to continue.
Ryan Hunter-Reay, Marcus Ericsson, and Matheus Leist were also involved in the incident.
Despite that multi-car collision, there was only one retirement in the race when Takuma Sato's day ended with 18 laps to go after his Honda engine caught fire.
Sato had been running solidly in the top-five all day until that point.
Race result - 85 laps
|1||Simon Pagenaud||Team Penske||Dallara/Chevrolet||1h30m16.4388s||-|
|2||Scott Dixon||Chip Ganassi Racing||Dallara/Honda||1h30m16.5761s||0.1373s|
|3||Alexander Rossi||Andretti Autosport||Dallara/Honda||1h30m20.8108s||4.3720s|
|4||Josef Newgarden||Team Penske||Dallara/Chevrolet||1h30m35.1110s||18.6722s|
|5||Felix Rosenqvist||Chip Ganassi Racing||Dallara/Honda||1h30m37.1820s||20.7432s|
|6||James Hinchcliffe||Schmidt Peterson Motorsports||Dallara/Honda||1h30m44.1098s||27.6710s|
|7||Colton Herta||Harding Racing||Dallara/Honda||1h30m49.0428s||32.6040s|
|8||Sebastien Bourdais||Dale Coyne Racing||Dallara/Honda||1h30m49.9803s||33.5415s|
|9||Graham Rahal||Rahal Letterman Lanigan||Dallara/Honda||1h30m51.7992s||35.3604s|
|10||Marco Andretti||Andretti Herta||Dallara/Honda||1h31m01.8566s||45.4178s|
|11||Santino Ferrucci||Dale Coyne Racing||Dallara/Honda||1h31m09.9330s||53.4942s|
|12||Ed Jones||Ed Carpenter Racing||Dallara/Chevrolet||1h30m17.3388s||1 Lap|
|13||Zach Veach||Andretti Autosport||Dallara/Honda||1h30m18.6432s||1 Lap|
|14||Max Chilton||Carlin||Dallara/Chevrolet||1h30m19.3908s||1 Lap|
|15||Spencer Pigot||Ed Carpenter Racing||Dallara/Chevrolet||1h30m32.6122s||1 Lap|
|16||Ryan Hunter-Reay||Andretti Autosport||Dallara/Honda||1h30m37.8585s||1 Lap|
|17||Tony Kanaan||AJ Foyt Enterprises||Dallara/Chevrolet||1h30m38.8452s||1 Lap|
|18||Will Power||Team Penske||Dallara/Chevrolet||1h28m36.1455s||Contact|
|19||Matheus Leist||AJ Foyt Enterprises||Dallara/Chevrolet||1h30m44.9078s||2 Laps|
|20||Marcus Ericsson||Schmidt Peterson Motorsports||Dallara/Honda||1h31m26.4753s||4 Laps|
|21||Sage Karam||Carlin||Dallara/Chevrolet||1h30m25.3677s||6 Laps|
|22||Takuma Sato||Rahal Letterman Lanigan||Dallara/Honda||1h11m57.1482s||Mechanical|