Mike Conway cashed in on an early change from wet tyres to slicks to win the second race of the IndyCar double-header in Toronto, his second victory of the season.
The Ed Carpenter Racing driver, who won earlier this year at Long Beach, started 11th, and had to recover from a drivethrough penalty just after his first pitstop.
Showers at the end of the opening stint forced the entire field to change to wet tyres, but when the first hint of a dry line began to appear Conway was among the first to gamble on switching back.
That decision moved him ahead of the leaders when they made the same change a couple of laps later, but he was still trailing Justin Wilson, Josef Newgarden, Carlos Huertas and Luca Filippi, all of whom stayed out on wets.
Conway capitalised on a restart 10 minutes from the end to overtake all of his wet-shod rivals, but no sooner had he passed Wilson for the lead than the race was red-flagged due to a pile-up at Turn 3.
As it transpired, the stoppage was both a blessing and a curse: he had pulled out 2.1-second over Wilson in just one lap prior to the red, but having Wilson immediately behind him offered some protection from Tony Kanaan at the restart; the Ganassi driver having also vaulted up the field.
Conway crossed the line 3.4s clear of the Brazilian, and admitted that he'd been a little on edge toward the finish.
"It was really difficult in the wet; we were really struggling," he said. "As soon as I saw the start of a dry line I was ready to come in, and it was a great call.
"I was a bit nervous with the red flag, but I knew with Justin behind me that I'd be able to cover it."
Will Power saw off a late challenge from Charlie Kimball to complete the podium, and closed to within 13 points of Penske team-mate and championship leader Helio Castroneves, who was also running towards the front for most of the race but dropped back with damage in the closing laps.
"I just wasn't willing to take a big risk," said Power. "Good day. Typical IndyCar race, it throws everything at you, but you just have to survive and that's what we did."
Power's assessment of the race was a fair one: even by IndyCar standards, it was eventful.
The changing conditions played a major part in the string of incidents that played out through the afternoon, including the pile-up that began with Juan Pablo Montoya skidding into the tyres, and ended with Mikhail Aleshin rear-ending him and sliding underneath his car.
The time spent retrieving the Russian - who was unhurt, although his helmet carried marks from the Penske undercarriage - was bad news for James Hinchcliffe, who had gone into the barrier at the same time but was forced to wait four laps to be rescued.
Not all of the mishaps were weather-related: three Andretti drivers were penalised at once when they pitted during a caution before the pitlane had opened, with title contender Ryan Hunter-Reay's afternoon getting even worse when he became involved in the late multi-car crash. He was classified 15th.
Fellow championship hopeful Simon Pagenaud also had a bad afternoon; the Frenchman losing a stack of time in the opening laps when his car developed a mechanical problem while he was running third.
Elsewhere, a potentially solid run by Graham Rahal was ended by a gearbox problem, while his Rahal Letterman Lanigan team-mate Luca Filippi was looking even stronger in fifth before he spun, and then later incurred a 30s post-race penalty for receiving service in a closed pit.
Results - 56 laps: Pos Driver Team/Engine Time/Gap 1. Mike Conway Carpenter/Chevy 1h20m35.5420s 2. Tony Kanaan Ganassi/Chevy +3.5418s 3. Will Power Penske/Chevy +5.1545s 4. Charlie Kimball Ganassi/Chevy +5.4857s 5. Takuma Sato Foyt/Honda +6.6210s 6. Jack Hawksworth Herta/Honda +7.8701s 7. Scott Dixon Ganassi/Chevy +7.9350s 8. Marco Andretti Andretti/Honda +10.1765s 9. Sebastien Bourdais KV/Chevy +12.0212s 10. Justin Wilson Coyne/Honda +15.7853s 11. Ryan Briscoe Ganassi/Chevy +15.8671s 12. Helio Castroneves Penske/Chevy +16.2205s 13. Josef Newgarden Fisher/Honda +20.9127s 14. Ryan Hunter-Reay Andretti/Honda +22.6140s 15. Carlos Huertas Coyne/Honda +29.2715s 16. Luca Filippi Rahal/Honda +46.4382s 17. Carlos Munoz Andretti/Honda -4 laps* 18. James Hinchcliffe Andretti/Honda -4 laps 19. Juan Pablo Montoya Penske/Chevy -4 laps * Not running at finish Retirements: Graham Rahal Rahal/Honda 50 laps Sebastian Saavedra KV/Chevy 49 laps Simon Pagenaud Schmidt/Honda 47 laps** Mikhail Aleshin Schmidt/Honda 11 laps ** Running again at finish All drivers use Dallara chassis