Manchester United need just 13 more points to reclaim the title.
Leon Osman and Nikica Jelavic struck in either half for the Toffees, who had Steven Pienaar dismissed after picking up two yellow cards.
There was controversy late on as City should have been awarded a penalty for a Marouane Fellaini handball with the scoreline at 1-0.
But, although referee Lee Probert spotted Fellaini's misdemeanour, he only gave a free-kick with replays showing the Belgium international was well inside the area when he blocked Carlos Tevez's strike.
1 Man Utd 74 2 Man City 59 3 Tottenham 54 4 Chelsea 52 5 Arsenal 50 6 Everton 48 7 Liverpool 45 8 West Brom 44 9 Swansea 40 10 Stoke City 34 11 Fulham 33 12 West Ham 33
Wayne Rooney's 16th goal of the season was enough to propel Manchester United 15 points clear with just nine games remaining in the Barclays Premier League title race as they beat Reading 1-0 at Old Trafford.
Rooney's deflected first-half effort saw off a dogged Royals outfit, who worked hard but lacked the class to fashion an equaliser.
Reading now look certainties for relegation, sliding seven points adrift of safety with one game fewer than United to save themselves.
Thirteen points will do it for Sir Alex Ferguson's men to clinch a record 20th championship - and given one of their remaining games is against nearest challengers Manchester City, they might not even need that.
Man Utd 1 - 0 Reading A Villa 3 - 2 QPR Swansea 0 - 2 Arsenal Stoke City 0 - 0 West Brom Southampto 3 - 1 Liverpool Everton 2 - 0 Man City
Aston Villa gave their survival hopes another huge boost after beating fellow strugglers QPR 3-2 in an enthralling encounter.
Villa, who beat Reading last time out, fell behind but eventually ran out winners to open up a six-point gap on the bottom three, while Rangers remain rooted to the foot of the table.
Jermaine Jenas struck his second goal in as many games to give Harry Redknapp's side the lead at Villa Park but Gabriel Agbonlahor's header levelled matters on the stroke of half-time.
The hosts had been on the back foot for much of the game but found themselves in front when Andreas Weimann struck on the hour.
QPR showed their new-found belief under Redknapp and equalised through Andros Townsend before Christian Benteke scored a vital winner for Paul Lambert's side - his 17th goal of the season.
Southampton recorded an impressive 3-1 win over Liverpool at St Mary's in a game they dominated for large periods.
The hosts opened the scoring early on through Morgan Schneiderlin and Liverpool-born Rickie Lambert should have doubled Southampton's advantage but shot straight at Brad Jones before the striker saw a deflected free-kick make it 2-0 12 minutes before the break.
Philippe Coutinho cut Liverpool's deficit before the break but Jay Rodriguez scored a tremendous individual effort to wrap up the points and Mauricio Pochettino's second win since replacing Nigel Adkins as Saints' manager.
Arsenal closed to within two points of the Champions League places with a 2-0 win at Capital One Cup winners Swansea.
A first Arsenal goal for left-back Nacho Monreal and a strike from substitute Gervinho secured the three points after Alex Oxlade-Chamberlain rattled the crossbar twice for Arsene Wenger's side in the first half.
Stoke and West Brom shared a goalless draw at the Britannia Stadium in the day's other 1500 GMT kick-off.
Source: Manchester City MAD