Holt had moments earlier missed a glorious chance to win it for City when he was clean through but denied by excellent Australia international Adam Federici – on his 100th league start.
However, he made no mistake when presented with another opportunity in the fourth minute of injury time, converting his 14th goal of the season.
Norwich took the lead in the 16th minute when Henri Lansbury, on loan from Arsenal, netted for the second successive home game but Reading levelled 10 minutes later through Republic of Ireland striker Shane Long with his 14th goal of the season.
The visitors were reduced to 10 men in the 65th minute when Jem Karacan was sent off for a bad tackle on David Fox.
Andrew Surman, making his return after a knee injury sustained in November, hit the crossbar from 20 yards just five minutes after coming on and Federici then thwarted Norwich on several occasions before Holt came to the rescue.
Reading were awarded an early free-kick just outside the box but Ian Harte fired his effort over the crossbar.
But Norwich, who have lost just one of their last nine at home in the league, overcame a nervous start and had two chances to take the lead.
First the recalled Chris Martin, without a goal in 10 games, saw his header saved by Federici before the striker had his goal-bound effort brilliantly blocked by the experienced Andy Griffin.
The home side continued to dominate and Holt volleyed wide from 20 yards and Martin had another strike saved by Federici before they got the goal they deserved.
Great play from Wes Hoolahan – on his 200th league appearance – resulted in the Irishman finding Lansbury, who made no mistake from close range.
Martin drilled another shot before Holt should have doubled Norwich’s lead in the 20th minute when he was played clean through but he blasted his shot over the crossbar.
Holt was made to pay for that miss when Reading got back on level terms in the 26th minute with Long tapping home after Jimmy Kebe had got the better of Elliott Ward – his first goal in four matches.
The Canaries came close to regaining the lead in the 36th minute but Federici produced a fine save to deny Holt while John Ruddy foiled Kebe, who had beaten the offside trap, at the other end moments later.
Hoolahan had a shot easily saved by Federici and Robson-Kanu fired wide from 20 yards before Martin failed to find the target with a header.
Reading were reduced to 10 men in the 65th minute when Karacan saw red for a poor tackle and moments later Surman was denied by the bar.
An excellent double save from Federici then kept Reading on level terms with the Australian denying Andrew Crofts on a one-on-one before thwarting Hoolahan.
Holt missed a great chance before bagging the winner at the death – Norwich’s eighth stoppage-time strike this season.