The day began with Newcastle United defeating Everton 2-1 to go second in the table. The Magpies went ahead through John Heitinga's 12th-minute own goal, before a stunning volley from Ryan Taylor (29) doubled their lead.
Although Jack Rodwell gave the visitors hope on the stroke of half-time, there was to be no comeback as Newcastle cemented their place in the top four.
United struggled to establish themselves in the first half but took the lead in stoppage time as Wes Brown deflected a corner into his own net under pressure from Danny Welbeck. That proved to be the difference.
The Red Devils are still five points behind Manchester City, though, as Yaya Toure's 73rd-minute header proved enough to settle an epic five-goal encounter against QPR at Loftus Road.
The Hoops had led through Jay Bothroyd's first-half effort, only for Edin Dzeko and David Silva to turn the contest on its head either side of half-time.
The hosts levelled when Bothroyd's header struck Heidar Helguson and beat Joe Hart but City weren't to be denied as Toure finished off Aleksandar Kolarov's excellent cross to ensure the three points went north.
Dirk Kuyt thought he had snatched a late winner, only for assistant referee Sian Massey to make a fine offside call, while Michel Vorm made a great reaction save from Glen Johnson to earn the visitors a share of the spoils.
Cech needed lengthy treatment after colliding with Ashley Cole in the first half, but showed few ill effects to deny Grant Hanley and then Yakubu after Frank Lampard (51) had headed in Branislav Ivanovic's curling cross.
When Cech was beaten by a late header from Hanley, the ball came back off the crossbar.
Anthony Pilkington had put the visitors ahead on 25 minutes with a fine 20-yard free-kick. However, the lead did not last long as Agbonlahor's penetrating run and cross allowed Darren Bent (30) to bundle home from close range.
The England winger then turned provider for Bent (62) to net again just after the hour.
Steve Morison's header set up an anxious final 13 minutes for the hosts, but Villa closed out for all three points.