Daniel Ricciardo scored a sensational maiden Formula One grand prix victory as the wheels finally came off the Mercedes juggernaut in Canada.
On yet another captivating day for the sport this season, the race at the Circuit Gilles Villeneuve was a classic, with rising Red Bull star Ricciardo ending Mercedes' run of six consecutive wins, and five straight one-twos.
Rosberg managed to nurse his car home into second place to open up a 22-point lead over team-mate Lewis Hamilton, who was forced to retire with a brake failure after 47 of the 70 laps.
It was a race that ended in dramatic fashion, with Ricciardo making his decisive move on Rosberg on lap 68, with the German's Mercedes struggling for power on the long straights.
Come the final lap, with Williams' Felipe Massa dicing with Sergio Perez in his Force India for fourth, the Brazilian ran into the back of the Mexican.
Whilst Perez rammed into one barrier to his right, Massa flew head-on into a tyre wall at turn one, almost collecting third-placed Sebastian Vettel on his way.
Mercifully, neither man was injured, and as the medical car rolled up to attend to them, Ricciardo went on to take the chequered flag by 4.2secs ahead of a much relieved Rosberg.
The German and Hamilton had again been vying for the lead for most of the race up until midway through when they both complained of power issues.
It was Hamilton who succumbed first, the loss of power seemingly affecting his brakes and sending him into retirement for the second time this season.
It appeared only a matter of time before Rosberg would also succumb, but somehow the 28-year-old kept his car out of trouble.
Although the field closed behind him, for many laps led by Perez on a one-stop strategy, it was 24-year-old Ricciardo who made the moves.
After being stuck behind Perez for some time, the Australian finally squeezed by, releasing him to reel in Rosberg and make the winning pass two laps from home.