Ryan Giggs marked his 900th appearance for Manchester United with an injury-time winner to deny Norwich City the point they deserved - and seemed to have secured with a late Grant Holt equaliser.

A Carrow Road full house witnessed another full-blooded Premier League battle with the Canaries fighting back tenaciously from the early blow of conceding a goal to Paul Scholes in the seventh minute.

It was a gut-wrenching finish for Paul Lambert's men, who gave the reigning champions a very thorough examination for the second time this season.

Scholes struck early on with a header from Nani's cross, and City keeper John Ruddy produced two fine saves before the break, but United goalkeeper David de Gea also had to be at his best to deny Anthony Pilkington and Holt before the break.

There was plenty of goalmouth action in the second period, but City seemed to have earned a draw when Holt turned the ball home seven minutes from time from Zak Whitbread's flick.

There was a sting in the tail, however, from United's other veteran as Giggs touched home a cross from substitute Ashley Young a minute into stoppage time. The defeat meant City had been doubled for the first time since Lambert became manager, and it was their fourth home league defeat of the campaign.

City boss Lambert made six changes after the FA Cup defeat by Leicester, with recalls for goalkeeper John Ruddy, full-back Kyle Naughton, centre-back Zak Whitbread, midfielders Bradley Johnson and Andrew Surman and skipper Grant Holt.

Russell Martin was reported to be suffering from 'flu, while the other five excluded were on the bench – Jed Steer, Leon Barnett, Elliott Bennett, Wes Hoolahan and Steve Morison.

There was no place in the 18 for striker James Vaughan, who played the final half-hour against Leicester.

United were without England striker Wayne Rooney, suffering from a throat infection, with Javier Hernandez and Danny Welbeck playing in attack.

Veteran midfielder Paul Scholes and England defender Rio Ferdinand were the only survivors from the team beaten 2-0 at Carrow Road eight years ago.

Fellow veteran Giggs was making his 900th appearance for United after first facing Norwich in 1991, and scoring in a 3-0 win.

De Gea was tested by a couple of early crosses from Jackson and Pilkington as City began brightly.

Ward made a timely challenge on Giggs as Nani sparked United's first attack.

But the visitors did not have long to wait to move in front as Scholes struck in the seventh minute.

It was a fairly soft goal with Scholes starting a six-man move down the United the right and Nani floating a cross into the six-yard box, where Scholes arrived unmarked to head home.

Johnson picked up his first yellow card of the season after 10 minutes after a heavy challenge on Nani that left the United man calling for treatment.

Nani responded with a foul on Fox after returning to the action, but escaped with a word from referee Marriner.

Ruddy made a fine save from Welbeck after 16 minutes to prevent further damage, diving to his right to keep out the striker's low shot from a pass by Hernandez.

A free-kick from Fox caused problems in a packed six-yard box for United with Jones having to hack clear for a corner, but Surman's kick was a poor one.

Surman shot wide from 20 yards after United failed to clear a free-kick from Fox, but De Gea had not had a clear shot to save.

Evra needed attention after a bang in the face from the jumping Ward and when play resumed, Holt headed wide from Johnson's cross.

City's best effort yet came in the 28th minute when Naughton played Pilkington in on the right side of the area and his cross-shot was saved by the legs of De Gea.

The Canaries were enjoying a decent spell, but they still had to be on their guard and Ruddy saved again from Hernandez after he played a neat one-two with Welbeck.

There was another fine effort as Holt got in a near-post header from Pilkington's cross but De Gea held on almost at point-blank range.

City were pegging United back and Surman was just unable to get on the end of a through-ball from Johnson.

• Half-time: Norwich City 0, Manchester United 1

Lambert made a change at the break with Hoolahan replacing Jackson.

Surman flashed a header wide straight from the restart, while Evans was shown the yellow card three minutes after the break for bringing down Hoolahan.

Johnson powered a shot wide after 58 minutes but City had not yet picked up the momentum they enjoyed in the latter part of the first half.

Hoolahan sent Pilkington clear on the right with a splendid pass, and Surman's volley was powerfully struck but blocked by Evans.

There was a double change after 63 minutes when City replaced Johnson with Bennett and United sent on Young for Hernandez.

Within seconds, it was almost 2-0 as Welbeck got behind the City defence but his goalbound effort was hooked away by Whitbread a yard in front of the line.

As City continued to press, De Gea did well to hang on to a cross from Bennett as Naughton picked out the winger on the right.

Hoolahan fired over when he might have done better to keep the move going and, with 20 minutes left, Lambert made his final change, replacing the busy Pilkington with Wilbraham.

Giggs almost had a goal to celebrate on his big day when he met Jones' cross with a left-foot volley that clipped the bar and went over.

Scholes came to the rescue for United with a header to prevent Ward cashing in on Wilbraham's knock-back, then Holt headed over from Hoolahan's cross.

There were appeals for handball when Hoolahan's cross was cut out by Evra, but the officials were unimpressed.

Seven minutes from time, Wilbraham almost brought City level with a stunning effort that De Gea tipped over after Scholes had passed straight to the substitute.

But the resulting corner led to the equaliser from Holt, his 12th goal of the season.

De Gea punched clear from the flag-kick but Fox retrieved and Drury crossed into the area where Whitbread nodded on and Holt turned and fired left-footed past the keeper.

Carrow Road erupted and Holt brought De Gea into action again with an overhead flick before United broke and Welbeck missed a golden chance to make it 2-1, failing to get his head to a Giggs cross.

Ruddy blocked with his legs from Welbeck as United suddenly realised two points were slipping away, then Ward produced a dramatic clearance as the game entered stoppage time.

More than a minute into time added on, though, Giggs delivered what was a sickening winner for City. Young crossed from the left and Giggs arrived to touch the ball home left-footed on the volley.

Ferdinand was booked following the celebrations as time ran out for City to hit back again.

• Result: Norwich City 1, Manchester United 2

• Norwich City: Ruddy; Naughton, Ward, Whitbread, Drury; Pilkington (Wilbraham, 70), Fox, Johnson (Bennett, 63), Surman; Jackson (Hoolahan, 45), Holt. Subs (not used): Steer, Barnett, Crofts, Morison.

• Manchester United: De Gea; Jones, Evans, Ferdinand, Evra; Nani, Carrick, Scholes, Giggs (Smalling, 90); Hernandez (Young, 63), Welbeck. Subs (not used): Amos, Fabio, Rafael, Park, Berbatov.

• Referee: Andre Marriner (West Midlands)

• Attendance: 26,811

• Goals: City: Holt (83). United: Scholes (7), Giggs (90)

• Bookings: City: Johnson (10). United: Evans (48), Ferdinand (90)