Ivan Cavaleiro put the visitors ahead against the run of play with a quarter of an hour on the clock, before Matt Doherty made certain of the points late on. Nuno Espirito Santo's side restore their two-point lead at the summit as a result, with Sheffield United, who claimed a 3-1 win at Burton Albion last night, dropping back to second.
Cardiff City kept up the pressure on the top two with a comfortable 2-0 home victory over Brentford, while Aston Villa's ascent up the table continued as an Albert Adomah brace saw them come from behind to register a 2-1 victory at Queens Park Rangers and go fifth.
At the other end of the table, managerless Sunderland remain rock bottom but did manage to take a point from their home encounter with Millwall - a result that extended their long winless league run at the Stadium of Light to 19 matches.
A late equaliser from Jordan Spence helped Ipswich Town to a point from their game at Hull City, leaving the Tractor Boys within a whisker of the playoffs and the Tigers just four points above the dropzone.
Elsewhere, Derby County could enter the playoff places should they overcome Fulham at Craven Cottage in today's late fixture.
Championship results in full: Birmingham City 1-0 Nottingham Forest, Cardiff City 2-0 Brentford, Hull City 2-2 Ipswich Town, Norwich City 1-1 Barnsley, Queens Park Rangers 1-2 Aston Villa, Reading 0-2 Wolverhampton Wanderers, Sheffield Wednesday 0-0 Bristol City, Sunderland 2-2 Millwall