Birmingham City 1-3 Norwich City
Pukki fired Norwich in front in the 26th minute and then had a penalty saved by the feet of Neil Etheridge nine minutes later.
Ivan Sanchez capitalised on the penalty miss just three minutes afterwards as he equalised for the Blues to make it level at the break.
Finnish striker Pukki eventually scored his second in the game in the 76th minute before Oliver Skipp sealed the win in the fifth minute of added time.
Brentford 3-0 Sheffield Wednesday
Bryan Mbuemo opened the scoring for the Bees in the 23rd minute before Saman Ghoddos added a second in the 74th minute.
Sorensen headed in Ghoddos’ free-kick to make it 3-0 with seven minutes to go for his first league goal of the season.
Blackburn Rovers 2-3 Watford
Joao Pedro gave the Hornets the lead in the 25th minute before Ismaila Sarr made it two in the 38th minute.
Harvey Elliott brought it back to 2-1 two minutes before half time and Sema restored Watford’s two-goal lead just after the hour mark.
Ben Brereton’s effort eight minutes before the end made it a nervy finish to the game but Blackburn fell to their fifth straight defeat.
Swansea City 1-0 Coventry City
Cabango headed in from Conor Hourihane’s well-taken corner routine on 54 minutes.
Bournemouth 1-2 Cardiff City
Moore dispatched a 37th-minute penalty to give Cardiff a 2-0 lead after Sean Morrison had put them in front on 28 minutes.
Shane Long pulled one back for the hosts midway through the second half but the Cherries could not complete a comeback.
Wycombe Wanderers 1-0 Reading
Onyedinma gave the Championship’s bottom side the lead four minutes into the second half before Ryan Tafazolli saw red as he conceded a 69th-minute penalty.
Lucas Joao hit the bar with the subsequent penalty and Uche Ikpeazu had a spot-kick kept out by Rafael at the other end five minutes from time.
Barnsley 2-0 Stoke City
Styles curled his strike beyond Angus Gunn just nine minutes in and Daryl Dike netted his first goal in English football to make it 2-0 in the last minute.
Middlesbrough 1-3 Bristol City
Diedhiou headed the Robins in front after 20 minutes and added his second in the 33rd minute as he linked up with Nahki Wells.
Wells netted one of his own four minutes later for a 3-0 lead at the break before Dael Fry scored an 80th minute consolation goal.
Derby County 2-0 Huddersfield Town
Rangers loanee Edmundson opened the scoring midway through the first half before Martyn Waghorn doubled the lead in the 65th minute.
Full back Jaden Brown was given his second yellow card for the visitors two minutes before the end to add more salt to their wounds.
Luton Town 1-1 Millwall
Evans’ first goal since joining from Derby in January cancelled out former Walsall man Elijah Adebayo’s 55th minute maiden goal for Luton.
Rotherham United 0-1 Nottingham Forest
Yates’ goal came midway through the second half as he struck the ball home from close range.
Preston North End 0-0 Queens Park Rangers
Lyndon Dykes and Charlie Austin both had opportunities for the visitors, but neither could find the back of the net.