Manchester City closed the gap on English Premier League leaders Manchester United in dramatic fashion as Gareth Barry's stoppage-time winner clinched a crucial 1-0 victory over Reading on Saturday.
With United not in action until Sunday's trip to Swansea, Roberto Mancini's team desperately needed to put pressure on their bitter rivals and they finally seized the opportunity in the closing minutes at Eastlands.
After labouring to break down struggling Reading for long periods, the champions broke the deadlock when England midfielder Barry headed home from a David Silva cross.
That was enough to move City within three points of United and keep their title challenge alive heading into the busy Christmas programme, while Reading stay bottom after their 11th defeat of the season.
"We had lots of possession but if you don't score early it is very difficult," Mancini said.
"You need to score quickly in these games and sometimes you have to take a risk to score, but I think we deserved to win."
Reading boss Brian McDermott added: "That goal at the end is just wrong. He (Barry) is on Nicky Shorey's back and it is an absolutely certain foul. That decision has killed us."
Arsenal climbed to third place as Mikel Arteta's second half penalty sealed a 1-0 win over Wigan at the DW Stadium.
The only goal of a scrappy encounter arrived in the 60th minute when Spanish midfielder Arteta fired home from the spot after referee Jonathan Moss gave a penalty for Jean Beausejour's clip on Theo Walcott.
For all the talk of a crisis enveloping Arsene Wenger's side after their humiliating League Cup defeat at League Two minnows Bradford, the Gunners have now won their last three league matches and are back in the race to secure a Champions League place.
"It was very important because we beat West Brom at home and now we have two away wins," Wenger said.
"It was a difficult game because they stopped us from playing. I believe they are in the wrong position in the table."
Everton surged into fourth place with a 2-1 win over West Ham at Upton Park.
The Hammers took a 14th minute lead through Carlton Cole, but Victor Anichebe levelled with a 64th minute header.
Cole was sent off midway through the second half for a clash with Leighton Baines and Everton took advantage of their numerical superiority to grab the winner through Steven Pienaar's deflected effort in the 73rd minute.
Saturday 22 December
Man City 1-0 Reading
Newcastle United 1-0 QPR
Southampton 0-1 Sunderland
Tottenham 0-0 Stoke City
West Brom 2-1 Norwich City
West Ham 1-2 Everton
Wigan 0-1 Arsenal
Everton had midfielder Darron Gibson sent off for a high challenge in the closing stages, but David Moyes' side held on.
That win for Everton meant Tottenham slipped down to fifth place after being held to a frustrating 0-0 draw by Stoke at White Hart Lane.
Newcastle ended a miserable run of six defeats from their last seven league games as Shola Ameobi clinched a 1-0 victory against QPR at St James' Park.
Ameobi came off the bench to hit the winner with a fine finish in the 81st minute, handing QPR boss Harry Redknapp his first defeat since officially taking charge last month.
West Bromwich Albion also remain in the hunt for a top-four finish after a 2-1 win against Norwich at The Hawthorns left them sixth and level on points with Arsenal, Everton and Tottenham.
Robert Snodgrass put the visitors ahead with a 23rd minute free-kick that was helped into the roof of the net by Albion goalkeeper Ben Foster's weak attempted save.
But Albion took advantage of more poor goalkeeping to equalise through Zoltan Gera's 43rd minute tap-in after Norwich's Mark Bunn made a hash of dealing with a Jonas Olsson effort.
And on-loan Chelsea forward Romelu Lukaku headed the winner with eight minutes remaining.
Sunderland boosted their survival hopes with a 1-0 win at fellow strugglers Southampton.
Martin O'Neill's men moved four points clear of the bottom three after Scotland striker Steven Fletcher lashed in from close-range for his eighth goal of the season in the 42nd minute.