Knowing victory would take them within three points of the top four, Ronaldo appeared to have put United in control when he scored twice in the opening 32 minutes.
However, appalling defending from the hosts either side of the interval allowed Norwich to equalise through Kieran Dowell and Teemu Pukki and for a while Dean Smith’s side looked the more likely winners.
But after Ralf Rangnick had abandoned his bold tactic of playing without a recognised ball-winner in midfield and replaced Paul Pogba with Juan Mata, Ronaldo drove a free-kick home off the inside of a post 14 minutes from time to secure victory.
The 37-year-old is now on 15 Premier League goals for the season, trailing only Mo Salah and Son Hueng-min in the standings. He has also moved on to 99 career Premier League goals.
United can move level on points with fourth-placed Spurs if they win at Liverpool on Tuesday.
For Norwich the outcome was a major blow to their faint hopes of avoiding the drop. The Canaries are now seven points behind fourth-bottom Everton, having played two games more and with only six matches to do something about it.