United reduced the gap to leaders Arsenal to three points as Cristiano Ronaldo and Wayne Rooney teamed up to put the hapless Magpies to the sword at St James' Park.

Rooney broke the deadlock from close range in the 25th minute and Ronaldo (45 and 56) struck either side of half-time to make it 3-0.

Abdoulaye Faye pulled a goal back for Keegan's side in the 79th minute but Rooney restored the three-goal cushion a minute later with a superb 25-yard strike. Substitute Louis Saha rounded off the scoring in injury-time.

Keegan is still waiting for the first win of his second spell as manager on Tyneside six games into his reign, and his team has taken only three points from the last 30 on offer.

That return has left them marooned in 13th place on 28 points, and the manager looking desperately for at least another 12.

Keegan said: "I have said all along, we need 40 points this year, and we have got 28. Anybody who has not got 40 points can be relegated - and in the past, teams with 42, 43 have.

"To get to 40, we need four wins, or three wins and three draws."

James McFadden scored a last-minute penalty to give Birmingham a 2-2 draw against Arsenal but it was dominated by an horrific injury to Eduardo.

The Croatia international suffered a broken leg in the third minute of the day's early kick-off after a tackle by Martin Taylor, who was sent off.

McFadden had given Alex McLeish's side the lead in the 28th minute but Theo Walcott (50) equalised with a neat finish from close range.

Walcott then put Arsene Wenger's side ahead five minutes later before McFadden equalised from the spot in injury time after the referee decided Gael Clichy had fouled Stuart Parnaby inside the penalty area.

Wenger admitted the injury affected his team in the opening 45 minutes but acknowledged they should still have killed off their struggling opponents, who had also forced a 1-1 draw at the Emirates Stadium last month.

He said: "It affected us 100% in the first half but we also have to look at ourselves. We should have killed the game off earlier and scored the third goal. We didn't do that.

A Fernando Torres hat-trick helped Liverpool claim a 3-2 win over Middlesbrough at Anfield which lifted the Reds up to fourth in the Barclays Premier League table.

The Liverpool boss was more than pleased with the Spain striker's contribution, saying: "He has proved to be a great signing. Everything is possible now for him as he progresses in the game here."

Jermain Defoe scored the only goal of the game from the penalty spot to give Portsmouth a 1-0 win over Sunderland at Fratton Park.

Black Cats manager Roy Keane accused his players of being "overawed", adding: "We've lost far too many games too easily and although it was a referee's decision again today we can't be victims all the time."

Wigan boosted their survival hopes with a 2-0 over former manager Paul Jewell's Derby side at the JJB Stadium thanks to goals from Paul Scharner (60) and Antonio Valencia (84).

Jewell pulled no punches, offering an honest post-match verdict as he said: "It was just dire. There's no getting away from it."

Elsewhere Fulham remain in trouble after they suffered contentious one-goal defeat to West Ham at Craven Cottage.

Nolberto Solano challenged goalkeeper Antti Niemi in the box and bundled the ball home from inside the six-yard box before Leon Andreasen was dismissed for a second bookable offence.

"I've seen it on the television," said Cottagers boss Hodgson. "I can say nothing else. It was a clear foul and the goal should have been disallowed."