Match ends, Bolton Wanderers 1, Norwich City 2.
Substitute Gary Hooper scored an injury-time winner to keep Norwich in the Championship promotion places with victory at Bolton Wanderers.
Graham Dorrans opened the scoring when his free-kick deflected in off the Bolton wall for his first Norwich goal.
Against the run of play, Adam Le Fondre drew Wanderers level when he turned home Tom Walker's excellent cross.
The game looked to be winding down for a draw, but Hooper flicked it over Adam Bogdan in the 93rd minute to win it.
Hooper's goal - against a side managed by Neil Lennon, his old boss at Celtic - sent the Norwich fans and coaching staff wild and ensured they did not drop below Watford and Middlesbrough, who both won.
The Canaries ended the day in the position they began, second behind leaders Bournemouth, above Watford on goal difference, and one point above Boro. Bolton drop to 17th.
Alex Neil's side, trying to keep pace with a Cherries team who had won at Brighton on Friday, took the early initiative when Dorrans's wickedly-deflected strike sent Bogdan the wrong way.
Norwich dominated the opening stages and came close to adding a second when Jonny Howson forced a terrific save from Bogdan, while Sebastien Bassong headed over a corner under pressure from defender Dorian Dervite.
But Tom Walker, who looked a threat down the left until being brought off late on, crossed in to set Le Fondre up to take Bolton's first chance.
The Canaries were undeterred, as both Nathan Redmond and Cameron Jerome forced Bogdan into saves.
In the second period, Le Fondre came close to his second, but Alex Tettey was on hand to clear the Bolton striker's looping header off the line.
Neil boldly decided to bring on Lewis Grabban and Hooper off the bench to play alongside Jerome, knowing a victory was vital with others around City winning.
And the former Hamilton manager's fearless approach paid off, when Jerome flicked on for Hooper to slot home a dramatic winner and make it four wins in a row for the Canaries.
Norwich boss Alex Neil:
"We did everything we possibly could have done to force it to come. The one thing you know about Gary Hooper is if you give him the ball in and around the box, he is a danger and it was a fantastic finish.
"I put him on with 25 minutes to go so he had plenty of time to make an impact.
"We need to try and win every remaining game. If it means I am going to throw caution to the wind and go for it and it costs us, well I would rather do that than play defensively and see out a draw which over the piece probably won't be good enough.
"I was pleased with the decisions I made - now they have paid off. Had we conceded it might have been different but those are the decisions you live and die by."
Bolton manager Neil Lennon:
"Gary Hooper is the best striker I have worked with. I got him from Scunthorpe for £1.5m and sold him for £6m.
"We can't keep giving away last-minute goals.
"It is a lack of moral fibre. And I really have to be careful how I go about it because I don't want to put myself or the club in a bad light.
"However, it is totally unacceptable that with two minutes to go, we can leave a £6m striker in front of goal with a free shot.
"It is not as though Norwich cut us open with a brilliant piece of football. It was a diagonal ball, a knock down and Gary is in acres.
"It is not good enough even though we are not far away. It was criminal defending and it is happening far too often."
- 3MoxeyBooked at 90mins
- 52WalkerBooked at 26minsSubstituted forJankoat 87'minutes
- 22GudjohnsenSubstituted forDannsat 82'minutes
- 9Le Fondre
- 20Costa Rocha
- 2WhittakerSubstituted forBennettat 71'minutesBooked at 80mins
- 22RedmondSubstituted forHooperat 66'minutes
- 14HoolahanSubstituted forGrabbanat 57'minutes
- James Adcock
- Shots on Target
Second Half ends, Bolton Wanderers 1, Norwich City 2.
Attempt saved. Lewis Grabban (Norwich City) right footed shot from outside the box is saved in the centre of the goal. Assisted by Cameron Jerome.
Goal! Bolton Wanderers 1, Norwich City 2. Gary Hooper (Norwich City) right footed shot from the centre of the box to the top left corner. Assisted by Cameron Jerome with a headed pass.
Offside, Norwich City. John Ruddy tries a through ball, but Cameron Jerome is caught offside.
Offside, Bolton Wanderers. Barry Bannan tries a through ball, but Liam Feeney is caught offside.
Dean Moxey (Bolton Wanderers) is shown the yellow card.
Attempt missed. Russell Martin (Norwich City) left footed shot from the right side of the box misses to the left. Assisted by Gary Hooper.
Substitution, Bolton Wanderers. Saidy Janko replaces Tom Walker.
Ryan Bennett (Norwich City) wins a free kick in the defensive half.
Foul by Emile Heskey (Bolton Wanderers).
Attempt missed. Cameron Jerome (Norwich City) right footed shot from outside the box is too high. Assisted by Alexander Tettey.
Attempt missed. Sebastien Bassong (Norwich City) header from the centre of the box is high and wide to the right. Assisted by Graham Dorrans with a cross following a corner.
Corner, Norwich City. Conceded by Liam Feeney.
Substitution, Bolton Wanderers. Neil Danns replaces Eidur Gudjohnsen.
Hand ball by Liam Feeney (Bolton Wanderers).
Attempt missed. Graham Dorrans (Norwich City) right footed shot from outside the box misses to the left. Assisted by Alexander Tettey.
Ryan Bennett (Norwich City) is shown the yellow card for a bad foul.
Foul by Ryan Bennett (Norwich City).
Emile Heskey (Bolton Wanderers) wins a free kick in the defensive half.