Championship wrap: Ten-man Baggies pegged back
West Bromwich Albion had a man sent off and was held to a dramatic 2-2 draw at Charlton Athletic after Leeds United and Sheffield Wednesday missed the chance to pressure the Championship leader.
Slaven Bilic's side remains two points clear at the top after the Yorkshire rivals played out a 0-0 draw at Hillsborough.
Preston North End is up to second, above Leeds on goal difference, after coming from 2-0 down to claim a stunning 3-2 win over Blackburn Rovers in the all-Lancashire clash at Deepdale.
Huddersfield Town extended its unbeaten run to six matches and climbed out of the relegation zone with a 2-1 win over Barnsley that left its opponent bottom of the pile.
West Brom had to settle for a second consecutive 2-2 draw despite Matt Phillips finishing emphatically at the end of Matheus Pereira's 10th-minute run.
Macauley Bonne marked his birthday by heading the initial equaliser before highly rated Baggies defender Nathan Ferguson was eventually sent off for a reckless challenge on Chris Solly, referee Matt Donohue having initially dismissed Grady Diangana in a case of mistaken identity.
Hal Robson-Kanu restored Albion's lead despite its reduced numbers with a superb curled finish, but Josh Cullen dispatched a stoppage-time penalty after Semi Ajayi was adjudged to have fouled Naby Sarr as the pair collided in the box.
Neither Leeds nor Wednesday were able to find a breakthrough but Preston found itself in an all-action contest.
Sam Gallagher's header forced an own goal from North End goalkeeper Declan Rudd inside the first 30 seconds and the Blackburn striker soon made it 2-0 to the visitors.
Tom Barkhuizen reduced the arrears before the interval and would prove the match-winner, firing into the top corner eight minutes from time after Daniel Johnson scored his eighth of the season from the penalty spot.
Danny Cowley, meanwhile, continued to work his magic at Huddersfield, with Karlan Grant netting his eighth of the campaign having created Christopher Schindler's opener.
Jacob Brown pulled a goal back for Barnsley, which is joined in the bottom three by Middlesbrough after Jonathan Woodgate's men were held to a 0-0 draw by Fulham at Riverside Stadium despite their visitors having goalkeeper Marek Rodak sent off for handling outside the area in the 17th minute.
Beleaguered Stoke City is level on eight points with Barnsley after it was beaten 2-0 by former boss Gary Rowett on his first outing as Millwall manager. Jed Wallace converted a penalty 15 minutes from time after teeing up Ben Thompson for the opener.
Jarrod Bowen scored twice in the space of six minutes during the closing stages as Hull City saw off Derby County 2-0 to claim back-to-back league wins for the first time this season.
Lukas Jutkiewicz was Birmingham City's match winner in a 2-1 triumph over Luton Town, while torrential rain saw the match between Nottingham Forest and Reading postponed.