Former Blue Shaun Wright-Phillips scored the only goal with 12 minutes left and though Rangers remain last on goal difference, they are now five points from safety.
Luis Suarez struck twice as Liverpool beat Sunderland 3-0 at Anfield.
Raheem Sterling put the hosts ahead after 19 minutes before the Uruguayan striker's brace secured the points to take the Reds up to eighth.
Substitute Victor Anichebe's scored the winner for Everton as Newcastle's poor form continued with a 2-1 defeat at St James's Park.
Papiss Cisse gave the hosts the lead in the second minute before Leighton Baines' thunderbolt free-kick levelled the scores two minutes before the break.
Anichebe, who replaced Steven Naismith in the 58th minute, finished from close range on the hour to send the Toffees fifth.
Meanwhile, the gap between Barclays Premier League leaders Manchester United and second-placed Manchester City remained seven points after both sides recorded easy wins on Tuesday.
Javier Hernandez and Robin van Persie both scored twice as United beat Wigan 4-0 to begin the year in fine style.
Hernandez also had a strike disallowed, which came prior to him making the breakthrough after 35 minutes at the DW Stadium.
Van Persie doubled United's lead in the 43rd minute and it was the Dutchman's free-kick that ballooned up to present Hernandez with his chance to net again in the 63rd minute.
The Mexican striker's volley ended Wigan's hopes of any reward and Van Persie fired a late fourth as United passed the 50-point mark, taking their haul to 52 from 21 games this season.
Sir Alex Ferguson's side continue to head nearest rivals and defending champions City by seven points as they attempt to claw back the league title from their neighbours.
Full-back Pablo Zabaleta inched City towards a 3-0 win against Stoke when he scored in the 43rd minute at the Etihad Stadium.
Edin Dzeko doubled the lead after 56 minutes when Sergio Aguero saw a shot pushed out, and Aguero fired a 74th-minute penalty to complete the scoring after Steven Nzonzi fouled David Silva.
There was less joy however for Arsenal, who were brought back down to earth after their 7-3 win over Newcastle as they were held to a 1-1 draw by Southampton.
Gaston Ramirez fired the hosts in front in the 34th minute when he pounced on some poor defending to drill an effort past Wojciech Szczesny, but the Gunners' blushes were spared four minutes before the break when Guly do Prado netted an own goal.
Tottenham climbed to third place, a point ahead of Chelsea who have two games in hand, after a 3-1 home win over second-bottom side Reading.
Andre Villas-Boas saw his side fall behind to a Pavel Pogrebnyak effort in the fourth minute, but Michael Dawson headed the hosts level in the ninth minute and Emmanuel Adebayor edged them ahead six minutes into the second half.
Clint Dempsey made the points safe, with his shot benefiting from a deflection as it beat Adam Federici for the third Tottenham goal in the 79th minute.
Danny Graham cracked home a late equaliser for Swansea against Aston Villa to earn a 2-2 draw.
Visitors Villa had fallen behind to Wayne Routledge's ninth-minute finish, after he surged clear of a static defence to round goalkeeper Brad Guzan.
But the outlook improved for Paul Lambert's side just before the break when Andreas Weimann netted an equaliser in the 44th minute.
Christian Benteke's penalty after Nathan Dyer's foul on Weimann put Villa ahead, as they looked to banish memories of dismal recent results. But Graham had the final say, his powerful finish with time running out sparking delight among home supporters at the Liberty Stadium.
A third-minute penalty from Mark Noble and Joey O'Brien's strike in the 26th minute gave West Ham a 2-0 cushion against Norwich at Upton Park. Russell Martin pulled one back for Norwich late in the second half but the Canaries could not find a leveller.
Fulham eased their relegation worries as Alexander Kacaniklic's second-half goal earned them a 2-1 win at West Brom.
The Cottagers had slid towards the bottom three after winning only one of their previous 12 games but were well worth their second away success of the campaign.
Dimitar Berbatov's seventh goal of the season gave the Cottagers a half-time lead and although Romelu Lukaku levelled after the break, Kacaniklic restored the visitors' advantage in the 58th minute.
Wednesday's Barclays Premier League Results
Chelsea 0-1 QPR
Liverpool 3-0 Sunderland
Newcastle 1-2 Everton
Tuesday's Barclays Premier League Results
West Brom 1-2 Fulham
Man City 3-0 Stoke
Wigan 0-4 Man United
Tottenham 3-1 Reading
Swansea 2-2 Aston Villa
West Ham 2-1 Norwich
Southampton 1-1 Arsenal