United had looked comfortable when 2-0 with just over half an hour played, but Norwich got themselves level as the mood soured even further on a day when widespread protests againt the Glazer family took place.
Kieran Dowell and Teemu Pukki cancelled out Ronaldo’s brace, only for United’s star man to have the final say as he fired home a sensational free-kick to earn his side the three points. It leaves them just three points behind Tottenham in fourth, keeping their hopes of Champions League qualification alive.
Green and gold flares filled the air along with chants against the owners before kick-off, with thousands joining the protest organised by a recently-formed supporter group called The 1958. Anti-Glazer songs continued throughout the Premier League encounter.
Anthony Elanga, Jadon Sancho and Ronaldo had early attempts for the attack-minded hosts, who pressed Norwich into a costly seventh-minute mistake.
Elanga has been a rare bright spot in a wretched season for the Old Trafford giants and his pressing led to him rob the ball off flustered Ben Gibson before squaring for Ronaldo to simply slot home.
Jesse Lingard, Diogo Dalot and Sancho had efforts as the United onslaught continued whilst chants against the Glazers echoed around Old Trafford.
Tim Krul superbly denied Lingard at the near post as United pushed for a second that would arrive from a 32nd-minute corner, with Ronaldo rising above Gibson to head home Alex Telles’ set-piece.
Ronaldo sent an audacious overhead kick over against a Norwich side that had created precious little, only to all too easily outmanoeuvre the hosts on the stroke of half-time.
Pukki played inside to Dimitris Giannoulis and United somehow failed to track the Finland forward’s run inside, so too Dowell’s burst to the backpost where he headed home unmarked.
It was a gut punch at the end of what had been a largely one-sided first half and Krul prevented Lingard’s sweetly-struck volley restoring United’s two-goal advantage early in the second period.
Norwich did not make any changes at the break and appeared to have been buoyed by Dowell’s goal, with the roles reversed as City stunned Old Trafford in the 52nd minute.
Goalscorer became provider as Dowell put Pukki through, impressively keeping his cool before striking past De Gea and in off the near post.
The goal was ratified after a VAR check for offside and Milot Rashica would have turned the game on its head was it not for a fine one-handed stop by De Gea that tipped his 20-yard strike wide.
Ronaldo saw a header saved from a Telles corner and Dowell tried his luck from distance as both teams continued to push.
Some United fans showed their discontent and Norwich smelt blood, with Rashica blocked by Dalot before Sam Byram headed over.
A number of fans welcomed Paul Pogba’s substitution, letting him know in no uncertain terms that are happy for him to leave this summer, as the mood threatened to darken.
But as anger mounted Ronaldo provided a release for all those connected to United, hitting a thumping free-kick that Krul could only tip onto the inside of the post as Old Trafford rocked to its foundations.
Additional reporting by PA Sport.