Reigning world champion Lewis Hamilton took advantage of a pit-stop blunder from Red Bull to belatedly claim his first win of 2016 at an absorbing Monaco Grand Prix.
As heavy rain gave way to bright sunshine in Monte Carlo, a fast-drying track provided thrilling action with a number of differing tire strategies.
MORE: What you need to know about the Indy 500
Pole-sitters had won eight of the previous 10 grands prix at this venue, a run Red Bull's Daniel Ricciardo looked set to extend as he opened up a healthy lead early with Hamilton stuck behind the slower Mercedes of teammate and championship leader Nico Rosberg.
However, Rosberg soon allowed Hamilton past and the Briton's decision to stay out longer on wet tires — in order to switch straight to slicks without a stint on intermediates — paid off as Ricciardo endured misery on his second stop.
The Australian came in for super-softs after 32 laps, but an apparent breakdown in communication resulted in a brief delay before new tires could be fitted and Ricciardo re-emerged just behind Hamilton.
Ricciardo came close to regaining the lead on lap 37 as Hamilton, on the new ultra-softs, briefly left a gap only to swiftly shut the door in a move that infuriated his rival.
Yet the Mercedes man was not to be denied as he secured victory for the first time since he was crowned world champion for a third time last October, with Force India's Sergio Perez pipping Sebastian Vettel to the final podium place before the heavens opened again.
Hamilton trails Rosberg, who finished seventh, by 24 points in the drivers' championship, while Ricciardo is up to third. Both drivers leapfrogged Kimi Raikkonen after the Finn retired on Sunday.