Yaya Toure brace put Manchester City within touching distance
Two second half goals from Yaya Toure gave Manchester City a 2-0 win over Newcastle, meaning a win over Queens Park Rangers next weekend will see them crowned champions.
Manchester United also won 2-0, against Swansea, but their inferior goal difference gives them an uphill struggle.
Elsewhere, Arsenal and Tottenham also dropped points in the race for the final Champions League spots.
Aston Villa's draw with Tottenham means they are virtually safe, while late goals for QPR and against Bolton had massive implications at the bottom.
Arsenal 3 Norwich City 3
Yossi Benayoun put Arsenal in front, with just one minute on the clock, when he picked up the ball from Tomas Rosicky and curled an effort over John Ruddy.
Wesley Hoolahan levelled midway through the half when he slotted into the net from Kyle Naughton's low cross.
Shortly afterwards Hoolahan found Grant Holt and he hit a shot which deflected off Kieran Gibbs and looped up over the Arsenal keeper and into the net.
After the break Alex Song picked out Robin van Persie who volleyed in a brilliant equaliser for the home side.
The flying Dutchman then put Arsenal in front, when the ball deflected into his path off the leg of a defender.
Substitute Steve Morison had the last say, finding the far corner of the net after latching onto a lobbed pass from Howson.
Aston Villa 1 Tottenham Hotspur 1
Ciaran Clark's long-range deflected effort gave the home side the lead, after he had received the ball from Charles N'Zogbia.
Emmanuel Adebayor earned a point for Spurs from the penalty spot, after Sandro had been fouled by Richard Dunne.
West Bromwich Albion 2 Bolton Wanderers 2
Martin Petrov gave West Brom the lead from the penalty spot after Mark Davies had been clattered by two Baggies defenders.
A bizarre own goal doubled the Bolton lead, the ball was lashed away by West Brom defender Liam Ridgewell, but it hit team-mate Billy Jones and went into his own net.
Chris Brunt pulled one back for the visitors from the edge of the box after the ball rebounded into his path off the leg of Shane Long.
James Morrison sank Bolton hearts in stoppage time when he was picked out by Simon Cox and crashed the ball into the roof of the net.
Fulham 2 Sunderland 1
A Clint Dempsey free-kick gave the home side the lead midway through the first half.
A brilliant long-range effort by Phil Bardsley pulled Sunderland level, after a neat lay-off from Ji Dong Won.
Second's later Mouassa Dembele fired Fulham back in front, picking the ball up from John Arne Riise on the halfway line before advancing and finding the corner.
Manchester United 2 Swansea 0
A delightful back-heel by Paul Scholes turned Michael Carrick's wayward effort into the net to give United the lead.
Ashley Young added a second just before half time, bending the ball into the corner of the net after Wayne Rooney's effort had been blocked by a defender.
Newcastle 0 Manchester City 2
Yaya Toure opened the scoring midway through the second half with a lovely curled effort from the edge of the box after a lay-off by Sergio Aguero.
Toure sealed the win in stoppage time when he received the ball from Gael Clichy, and poked a shot beyond Tim Krul in the Newcastle goal.
Queens Park Rangers 1 Stoke City 0
Djibril Cisse's last-minute goal gave the home side a crucial three points when he slotted the ball in at the far post after he had been picked out by Anton Ferdinand's header.