Cardiff climbed into the top six of the Sky Bet Championship with a 4-0 victory over Derby to extend their unbeaten run to 10 games under new boss Mick McCarthy.
Leandro Bacuna gave the Bluebirds the lead in the 22nd minute - his first goal since November 2019.
Cardiff, though, lost left-back Joe Bennett to injury shortly before half-time when he was carried off the pitch on a stretcher.
Kieffer Moore headed home another goal three minutes into the second half, with Curacao international Bacuna curling in Cardiff's third from 20 yards in the 56th minute.
Will Vaulks completed a fine night for the home side with a long-range effort in stoppage time.
Derby were without the Republic of Ireland's Jason Knight who sat out his first game of the Wayne Rooney regime.
Reading kept their play-off push on track with a 1-0 win over Blackburn at the Madejski Stadium.
George Puscas knocked in the only goal from close range in the 24th minute, with the Royals moving two points behind fourth-placed Swansea.
Blackburn, who had Republic of Ireland defender Darragh Lenihan at the heart of their defence, couldn't find a reply.
Middlesbrough remain within striking distance of the top six after a late goal from George Saville secured a 2-1 win at Coventry.
An own goal from Boro defender Anfernee Dijksteel broke the deadlock in the 11th minute.
The visitors equalised in the 42nd second minute when defender Grant Hall headed home from a free-kick, which was his first goal for the club having joined from QPR last summer.
Just when it looked like a draw was on the cards, midfielder Jonny Howson set up Saville to score the winner with three minutes left.
Millwall came from behind to beat Preston 2-1 at the Den.
Ched Evans fired the visitors ahead in the 12th minute with a well-taken volley.
The Lions, though, were level six minutes before half-time through left-back Scott Malone's fine strike into the top corner.
With four minutes left, Mason Bennett headed in the winner to leave Millwall in 10th place.
Both Greg Cunningham and Jayson Molumby played the full 90 minutes for the defeated side, the midfielder picking up a yellow card.
Relegation-battlers Birmingham fought back to draw 1-1 at Huddersfield.
Fraizer Campbell gave the hosts the lead in the 63rd minute with a 20-yard strike.
But the Blues were level within five minutes when centre-back Marc Roberts scored following a corner.
The draw leaves Birmingham six points clear of the relegation zone - but having played more matches than the sides below them.
Irish international Scott Hogan could have won it late on for City, but he put an effort over from close range.
Ryan Tunnicliffe's goal in the 64th minute proved enough to give Luton a 1-0 win at Nottingham Forest - their first at Forest since 1983 - and extend their unbeaten run to three league games.