On yet another captivating day for the sport this season, the race at the Circuit Gilles Villeneuve was a classic.
After six successive wins this season and a record-equalling run of five consecutive one-twos, rising Red Bull star Ricciardo brought the curtain down on Mercedes’ dominance.
Rosberg still managed to nurse his car home into second place after losing power from the energy recovery system (ERS).
The 18 points for Rosberg, though, are crucial as bitter title rival and team-mate Lewis Hamilton was forced to retire with brake issues after 47 of the 70 laps.
It was the Briton’s second retirement this season after failing to see the chequered flag in the opening race in Australia, and he now trails Rosberg by 22 points.
A thrilled Ricciardo said: “I’m still a bit in shock. This is ridiculous. I’m very proud. It’s been a long time since I won a race. It’s a feeling I’ve missed, so hopefully I can have more.”
A relieved Rosberg said: “I lost ERS which means you can’t harvest (energy) any more, which then affects the rear brakes.
“It’s still a very good result, lots of points, but we need to keep pushing because as we saw we can suffer with reliability issues. ”
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 to Rosberg.