Cardiff climbed into the top six of the Sky Bet Championship with a 4-0 win over Derby to extend their unbeaten 10 games under new boss Mick McCarthy.
Leandro Bacuna put the Bluebirds ahead in the 22nd minute – his first goal since November 2019.
Cardiff, however, lost left-back Joe Bennett to injury shortly before half-time when he was blown off the field on a stretcher.
Kieffer Moore signed another goal three minutes into the second half, Curaçao international Bacuna to Cardiff’s third goal from 20 yards in the 56th minute.
Will Vaulks ended a great night for the home side with a long range effort in stoppage time.
While reading maintained their barrage push with a 1-0 win Blackburn at the Madejski stadium.
George Puscas struck into the lone goal at close range in the 24th minute, with the Royals moving two points behind fourth-placed Swansea.
Middlesbrough staying within striking range of the top six after a late goal from George Saville secured a 2-1 victory at Coventry.
An own goal from defender Boro Anfernee Dijksteel broke the deadlock in the 11th minute.
The visitors equalized in the 42nd minute when defender Grant Hall returned home from a free kick, which was his first goal for the club after joining QPR last summer.
Just when it looked like a draw was on the cards, midfielder Jonny Howson prepared Saville to score the winner with three minutes remaining.
Millwall came from behind to beat Preston 2-1 at Den.
Ched Evans shot the visitors ahead in the 12th minute with a well-taken volley. The Lions, however, were level six minutes before halftime thanks to a nice strike from left-back Scott Malone into the top corner.
With four minutes remaining, Mason Bennett headed for the winner to leave Millwall in 10th place.
Relegation fighters Birmingham fought back to draw 1-1 at Huddersfield.
Fraizer Campbell gave the hosts the lead in the 63rd minute with a 20-yard shot, but the Blues were tied in five minutes when center-back Marc Roberts scored from a corner kick.
The draw leaves Birmingham six points ahead of the relegation zone – but having played more matches than the teams below.
Ryan Tunnicliffe’s 64th-minute goal proved enough to give Luton a 1-0 win at Nottingham Forest – their first at Forest since 1983 – and extend their unbeaten to three league games.