Two second half goals from Yaya Touré kept Manchester City are on the verge of winning their first league title since 1968.
The title race will go down to the last game of the season after Manchester United beat Swansea City 2-0, but it would be a monumental collapse if City did not win the title now.
In a tense match at St. James Park, Newcastle frustrated and harried City for 70 minutes before Yaya Toure broke the deadlock with a superb shot from the edge of the box.
As Newcastle pushed for an equalizer, City wasted several chances to put the game away, but finally Toure scored his second to send the blue half of Manchester into ecstasy. City can wrap up the title next week of they beat Queens Park Rangers, and their former manager Mark Hughes at home.
The Manchester United players and fans knew that City had won before their game against Swansea kicked off, and as a result the game at Old Trafford had the atmosphere of a pre-season friendly.
Paul Scholes and Ashley Young got the two United goals, but United look destined to lose the title on goal difference to their bitter rivals. How that 6-1 defeat at home to City in the fall is coming back to haunt United now.
Arsenal looked to have thrown away third place after their draw at home to Norwich yesterday, but Gunners fans are smiling today as not only did Newcastle lose at home to Man City, but Spurs were held to a 1-1 draw at Aston Villa. The point should be enough to keep Villa in the Premier League.
The battle for survival will once again go down the final game, but QPR bolstered their survival hopes the most today by beating Stoke City 1-0 thanks to a late Cisse goal.
Bolton appeared to have taken a big step towards ensuring their Premier League survival when they went 2-0 up on West Brom at home. But Wanderers could not hold onto the lead and Albion fought back to grab a share of the points, a result that leaves Bolton in the bottom three.
The last weekend of games in the Premier League next weekend looks like this:
Chelsea v Blackburn Rovers
Everton v Newcastle United
Manchester City v Queens Park Rangers
Norwich City v Aston Villa
Stoke City v Bolton Wanderers
Sunderland v Manchester United
Swansea City v Liverpool
Tottenham Hotspur v Fulham
West Bromwich Albion v Arsenal
Wigan Athletic v Wolverhampton Wanderers