Darius Henderson scored a hat-trick as Millwall trounced Leicester 3-0 at the King Power Stadium.
Henderson scored twice in the first half, the first from the penalty spot, to give Millwall a shock lead. He then completed his hat-trick in the 68th minute when he nodded home from close range.
Cardiff enjoyed a rollercoaster 5-3 win over Barnsley.
Kenny Miller's fourth goal of the season put Cardiff ahead with Joe Mason doubling their lead. Danny Drinkwater pulled one back but Aron Gunnarsson put Cardiff 3-1 up at the interval.
Don Cowie extended the lead with a right-footed shot with half an hour to go before Gunnarsson scored the fifth from close range. The Tykes got the seventh goal of the game when Jimmy McNulty headed home with eight minutes to go and Ricardo Vaz Te completed the scoring.
Ten-man Nottingham Forest won 2-1 at Blackpool. Wes Morgan put the visitors ahead with Kevin Phillips levelling before Radoslaw Majewski got the winner. Guy Moussi was sent off in the 82nd minute for his second bookable offence.
Charlie Austin scored a last-minute winner for Burnley as they won 2-1 at Coventry. Cody McDonald put the hosts ahead a little under a quarter of an hour after the break when he headed home but the Clarets levelled through Ross Wallace (73) before Austin struck. Gael Bigirimana was given a straight red card for a foul on Kieran Trippier.
Luke Varney fired managerless Portsmouth into a third-minute lead against Doncaster, but former Southampton midfielder Simon Gillett drew Rovers level. Dave Kitson and Varney then secured a 3-1 Pompey win.
Substitute Steve de Ridder earned 10-man Southampton an unlikely-looking point at Reading in the late kick-off. The Belgian winger finished sublimely after latching on to a Guly do Prado's through ball to earn the leaders a 1-1 draw with 10 minutes remaining.
Having been thwarted by goalkeeper Kelvin Davis throughout the first half, the Royals looked set to secure victory when Mikele Leigertwood blasted home in the 71st minute. Saints' predicament got worse when skipper Dean Hammond was sent off minutes later, before De Ridder wriggled free to extend Southampton's lead at the top of the table to three points.