Ralf Aron rounded out the Formula 3 European Championship round at Misano by winning a soggy final race, as title contender Marcus Armstrong was spun out of contention.
After a safety-car start, the race was red-flagged on lap two due to torrential rain, but restarted after the cars had waited 20 minutes in the pitlane.
Poleman Armstrong looked unbeatable early on, as he opened up a 1.7-second gap on Prema Powerteam stablemate Aron within just one lap of racing.
But Aron began to chip away at the gap, and on the sixth lap of racing he dived down the inside of Armstrong at Turn 8 to take the lead.
Aron was already 0.9s ahead at the end of that lap, but then the safety car was called after Motopark duo Sebastian Fernandez and Marino Sato lobbed their cars into separate gravel traps.
The restart proved Armstrong's undoing, when Juri Vips dived down his inside into Turn 16 before the start-finish line, and then Ferdinand Habsburg also got momentum on the Kiwi to move into third.
To compound his misery, title contender Armstrong was then turned around into a spin by Prema team-mate Guan Yu Zhou at Turn 4 in an incident that put both out of the race.
Habsburg wasn't finished yet, and the Carlin driver passed Motopark racer Vips at Turn 8, but Vips fought back, the duo thrillingly running side by side through the fast kinks towards the end of the lap before Vips regained the place.
Aron was already 3.2s in front, and Vips brought the gap down over the final three laps to finish 1.6 adrift and complete an Estonian one-two.
"I like difficult conditions - I always have done," said Aron.
"Actually in karting I hated them, but I've been working on it my whole career and it's got to the point where I like them.
"At the safety-car start my tyre warm-up wasn't great and I was struggling, but I knew the lines I needed to be quick.
"I fought with Marcus for a couple of laps and I got by, and after that I was comfortable."
Championship leader Dan Ticktum benefited from the Armstrong/Zhou clash to move into fourth, and even gained on Habsburg in the late stages.
Although Ticktum is now 32 points ahead of Armstrong, he is just 12 ahead of Motopark team-mate Vips with three rounds remaining.
Ticktum passed Mick Schumacher during the race, the Prema-run German finishing fifth ahead of Hitech GP's Alex Palou.
Robert Shwartzman took seventh in his Prema car from Motopark racer Fabio Scherer, who somehow climbed from 14th to eighth on the first lap after the final restart.
Jehan Daruvala (Carlin) and Enaam Ahmed (Hitech) completed the points - Ahmed was running ahead of Ticktum when he was sent onto the inside grass verge of Turn 14 after a collision with Zhou, before setting off into the fray once again.
Race three result
|1||Ralf Aron||PREMA Theodore Racing||Dallara/Mercedes||17||58m57.472s|
|5||Mick Schumacher||PREMA Theodore Racing||Dallara/Mercedes||17||7.698s|
|6||Alex Palou||Hitech Bullfrog GP||Dallara/Mercedes||17||9.072s|
|7||Robert Shwartzman||PREMA Theodore Racing||Dallara/Mercedes||17||11.323s|
|10||Enaam Ahmed||Hitech Bullfrog GP||Dallara/Mercedes||17||15.448s|
|13||Ben Hingeley||Hitech Bullfrog GP||Dallara/Mercedes||17||19.463s|
|15||Artem Petrov||Van Amersfoort Racing||Dallara/Mercedes||17||22.793s|
|17||Keyvan Andres||Van Amersfoort Racing||Dallara/Mercedes||17||30.457s|
|18||Sophia Florsch||Van Amersfoort Racing||Dallara/Mercedes||17||34.571s|
|-||Marcus Armstrong||PREMA Theodore Racing||Dallara/Mercedes||13||Retirement|
|-||Guan Yu Zhou||PREMA Theodore Racing||Dallara/Mercedes||13||Retirement|
|7||Guan Yu Zhou||154|