Wayne Rooney's superb volley triggered a Manchester United fightback against Newcastle to keep up the pressure on Arsenal in the race for second place.
Newcastle had taken a surprise first-half lead when Darren Ambrose pounced on Tim Howard's poor clearance.
Rooney's superbly executed goal - hit with the outside of his right foot - drew gasps from the Old Trafford crowd.
With time running out, Wes Brown's winner provided another surprise - it was his first goal in 117 league games.
The win allowed Manchester United to close the gap on Arsenal to a point, though Arsene Wenger's side have a game in hand.
Newcastle's season continues to go from bad to worse as they slipped to a fifth successive defeat.
Their poor run of form coming into the game perhaps explained Newcastle's nervous start.
Giggs provided plenty of attacking impetus for Manchester United in those early stages with the home side on top.
The Welshman tested Shay Given with a rising shot and then freed Rooney with a clever pass.
Rooney manoeuvred his way past Jean-Alain Boumsong only to find his route to goal blocked by Given, who parried the United striker's shot.
Given's counterpart Howard was giving an altogether less impressive performance.
The American had been slow to come out to gather the ball in a one-on-one with Alan Shearer and his scuffed clearance from Phil Neville's pass allowed Newcastle to take the lead.
Howard's kick went straight to Ambrose, who after skipping past challenges from Gabriel Heinze and Brown, slipped the ball past the Manchester United keeper.
Starting in the league for only the third time this season, Ambrose had an impressive game for Newcastle.
Just before his goal he flashed a volley past the post and immediately after Rooney's wonder goal he produced another run and shot that was deflected for a corner.
United's troubles mounted when Heinze was stretchered off after falling awkardly.
Alan Smith then had a penalty appeal turned down by referee Neale Barry, who waved play on after the Manchester United striker became tangled up with Andy O'Brien.
Rooney had had a frustrating game before his goal.
And just before the volley Rooney's frustration boiled over when he was booked for a late challenge on James Milner.
But that exasperation was quickly put behind him when Rooney pounced on a Peter Ramage's headed clearance to send a swerving volley past Given's despairing dive.
Scenting victory Manchester United upped the tempo and from a corner Brown popped up to head past Given.
Man Utd: Howard, Phil Neville, Ferdinand, Brown, Heinze (Ronaldo 37), Fletcher (Kleberson 61), Keane (Silvestre 76), Fortune, Giggs, Rooney, Smith.
Subs Not Used: Carroll, O'Shea.
Goals: Rooney 57, Brown 75.
Newcastle: Given, Carr, Boumsong, Andrew O'Brien, Elliott, Milner, Ambrose, Ramage (Robert 82), N'Zogbia, Shearer (Kluivert 66), Ameobi.
Subs Not Used: Harper, Brittain, McClen.
Goals: Ambrose 27.
Ref: N Barry (N Lincolnshire).