The home side dominated large swathes of the match, but left it late to claim all three points as substitute Henri Lansbury fired a volley beyond visiting keeper David James on 88 minutes.
Andrew Surman made sure of the win seconds later when he danced in from out wide to slip the ball through the legs of James, who was left bamboozled by the midfield player's first goal for Norwich.
It was a certain penalty and Grant Holt stepped up to smash the ball high to the right of James for his 16th goal of the season.
Bristol City were hemmed in for the majority of the evening, but stunned the home fans by equalising on 65 minutes as the impressive Albert Adomah raced onto Jamal Campbell-Ryce's pass to thump the ball through keeper John Ruddy.
QPR are favourites for automatic promotion at 1/33, but Norwich are now second favourites at 5/4 to return to the Premier League next term after a 10th home league win of the season.
Norwich visit Hull City on Saturday with leaders QPR at Doncaster. Lambert is focused on catching QPR rather than looking behind him. His players look like they have enough pace in their ranks to get the job done.
Bristol arrived at Carrow Road having pieced together four straight wins, but suffered a night of almost relentless home pressure.
The second period threw up more of the same as Fontaine hooked a Jackson shot off his line after the home striker had prodded the ball under James.
Adomah gave a glimpse of things to come when he hammered a shot in from distance that Ruddy clawed past a post on 51 minutes.
The chances kept coming and going for Norwich as Steven Caulker blocked a Holt effort before Jordan Spence did just enough to disturb Holt as he nodded wide from Hoolahan's cross.
Norwich looked like they would rue those misses until the late, late show finally ended the visiting side's resistance.
Lansbury raced clear to score from Hoolahan's pass before Surman's goal a minute into three added on gave the scoreline a truer reflection.
- Related links