Steve Howard's goal sent Derby into a three-point lead at the top of the Coca-Cola Championship table following a 1-0 win at Southend.
Billy Davies' side needed only a point at Roots Hall to knock Birmingham, whose match at Leicester was postponed, off the summit, but deservedly took the maximum three after a fine attacking display.
Derby continued their good form as they extended their winning sequence to five matches in all competitions and inflicted a first defeat in seven on the team at the bottom of the table.
Former Luton striker Howard connected with a 33rd-minute corner to head home his 12th goal of the season.
Kelvin Wilson grabbed an 89th-minute winner for Preston to cap a dramatic second-half comeback in a 3-2 win over play-off chasers Stoke.
North End were on the rocks after a disastrous opening 10 minutes as two errors by Wilson allowed Liam Lawrence and Mamady Sidibe to score.
But substitute Simon Whaley teed up Paul McKenna (65) and David Nugent (74) to equalise for the Lilywhites before Wilson atoned for his start with a scrambled winner.
The result sees North End climb level on points with Birmingham, but they remain third.
Diomansy Kamara handed Tony Mowbray a first away win in charge of West Brom as Leeds narrowly avoided going bottom of the Coca-Cola Championship after a 3-2 defeat.
The Baggies' top scorer grabbed a brilliant double (19 and 45) after Jonathan Greening (7) levelled Tore Andre Flo's third-minute opener, while Alan Thompson pulled one back for United.
Late goals from Grzegorz Rasiak and Bradley Wright-Phillips handed Southampton a 2-0 win at struggling QPR, while third-bottom Barnsley climbed within two points of Luton with a 2-0 win at Kenilworth Road, courtesy of strikes from Brian Howard (7) and Martin Devaney (90).
Hull skipper Ian Ashbee (72) earned a crucial point for his relegation-threatened side and denied Crystal Palace boss Peter Taylor a win over his former club following Carl Fletcher's 51st-minute opener.
Ipswich won a thrilling East Anglian derby with Colchester 3-2 thanks to a penalty from Alan Lee (30) plus further strikes from Sylvain Legwinski (56) and Danny Haynes (82).
Karl Duguid (15) and Chris Iwelumo (90) scored for United, while Town also had David Wright dismissed.
A goal from Jason Byrne with two minutes remaining secured Cardiff's first win in 12 games at Wolves.
Seyi George Olofinjana (57) had cancelled out Michael Chopra's 27th-minute opener for the Welsh side before Byrne made the final score 2-1.
A thrilling game at Hillsborough saw Sunderland come away with a 4-2 victory thanks to strikes from Dwight Yorke (21), Tobias Hysen (48), David Connolly (58) and Carlos Edwards (89).
Chris Brunt (82) and Wade Small (87) had raised hopes of a home comeback.