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.
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.
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.
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.
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.