Emi Buendia scored the only goal as Sky Bet Championship leaders Norwich returned to winning ways with a 1-0 victory over Barnsley.
The Argentinian struck with a superb volley after 62 minutes at Carrow Road to hand the Canaries a first win in three matches.
Jamal Lowe struck twice as Swansea came from behind to move up to second with with a 2-1 win over Watford at the Liberty Stadium.
Tom Cleverley had fired the visitors into a 20th-minute lead but Lowe levelled before the break and then headed home a Korey Smith cross for the winner midway through the second half.
Lucas Joao was also on target twice as he made an impressive return from injury in Reading's 2-1 win at Huddersfield.
Fraizer Campbell gave the Terriers an early lead at the John Smith's Stadium but Joao equalised seven minutes after the break. He then settled the contest with a superb turn and long-range strike 13 minutes later.
Wycombe remain at the bottom of the table after surrendering a lead to lose 3-1 at home to Middlesbrough.
Uche Ikpeazu scored his first goal for the Chairboys after three minutes but Marcus Browne and Marcus Tavernier responded.
Tavernier later hit the frame of the goal but Chuba Akpom put the result beyond doubt after a corner nine minutes from time.
Millwall's poor home form continued as they were beaten 2-1 with 10 men by Coventry at The Den.
The Lions fell behind when Jake Cooper turned into his own net after 20 minutes and Gustavo Hamer added Coventry's second six minutes later.
Jed Wallace pulled one back from the penalty spot after 74 minutes but it was not enough for Millwall, who had Murray Wallace sent off late on as their winless home run extended to eight games.
Bradley Dack scored his first goal for over a year as Blackburn won 2-0 at Birmingham. Dack, who has been out injured for most of the past 12 months, struck in injury time at St Andrews to wrap up victory after Adam Armstrong had earlier claimed his 17th goal of the season.
Lewis Grabban scored a 70th-minute penalty as Nottingham Forest won 1-0 at Preston while Rotherham's clash with Cardiff was postponed an hour before kick-off following snow in South Yorkshire.