Mark Hudson fired home a 57th-minute winner to send Cardiff to the top of the npower Championship with a 2-1 home win over Birmingham, while previous leaders Brighton slipped up again.
Malky Mackay's men had to battle hard to see off the rejuvenated Blues, who had done the Bluebirds a favour by grabbing a shock win over Gus Poyet's side at the Amex Stadium on Saturday.
Craig Bellamy's 38th-minute opener was cancelled out by Leroy Lita's 54th-minute equaliser for the visitors, before Hudson bundled home a cross from Peter Whittingham to take his side above the Seagulls.
Poyet's men needed a late equaliser to salvage a point in a 1-1 home draw with struggling Ipswich. Daryl Murphy converted a Carlos Edwards cross in the 27th minute but substitute Will Buckley levelled with 10 minutes to go.
It was not enough to stop Brighton dropping to third behind improving Leicester, who handed Huddersfield their second consecutive home defeat with a 2-0 win.
Meanwhile, Wolves missed the chance to also leapfrog the Seagulls as they were undone by a late Wilfried Zaha brace for Crystal Palace at Molineux. Meanwhile, Ian Holloway's Blackpool rediscovered their form with a dramatic 3-2 win over Hull at the KC Stadium.
A late header from Kevin Davies grabbed Bolton a 2-2 draw with Leeds at the Reebok Stadium and eased the pressure on boss Owen Coyle. Davies had headed Bolton into a 14th-minute lead but a Sam Byram header and Luciano Becchio's 50th-minute penalty put the visitors in command until Davies headed in a Martin Petrov cross 11 minutes from time.
Bottom-placed Peterborough continued their revival with a second consecutive away win, goals from George Boyd and Tyrone Barnett giving them a 2-0 victory at Barnsley. And Gianfranco Zola's Watford also continued their recent improvement with a 2-1 win at Charlton.
Charlie Austin's hat-trick for Burnley was not enough to take the points at Turf Moor as Sheffield Wednesday hit back three times, with Chris O'Grady bagging a brace and Michail Antonio hitting a late equaliser to claim a 3-3 draw.
Bristol City and Millwall shared the points in a 1-1 draw at Ashton Gate. Steven Davies put the home side in front and Darius Henderson equalised with a 38th-minute header.