Peterborough climbed off the foot of the table with a shock 2-1 victory at leaders Cardiff, while Hull made it three wins in succession.
Cardiff were expected to extend their lead after Peterborough’s run of eight games without a win but goals from Michael Bostwick and Dwight Gayle secured the surprise win at Cardiff City Stadium on Saturday.
Peterborough hit the front in the 22nd minute when Bostwick unleashed a powerful shot from the edge of the area.
The visitors doubled their lead two minutes into the second half after Gayle slotted the ball past goalkeeper David Marshall.
Rudy Gestede reduced the deficit in the closing moments and despite the loss, Cardiff remain two points clear at the top after Crystal Palace could only manage a 2-2 draw with Birmingham.
Hull continued their rise up the table with a comfortable 2-0 win over Huddersfield.
Goals from Robert Koren and David Meyler were enough to claim a third consecutive league triumph, which moved them level on points with third-placed Middlesbrough, who ran out 2-0 winners against Wolves.
Millwall ensured they entered the festive period in the play-off places following their 1-0 success at home to Leicester.
Four points separated the sixth and fifth placed sides heading into the clash but Chris Taylor’s 67th-minute strike reduced that deficit to a solitary point.
Elsewhere on Saturday, Leeds heaped more misery on lowly Ipswich with a straightforward 2-0 win courtesy of goals from Jerome Thomas and Paul Green.
The win at Elland Road sends Leeds up to 12th position, while Ipswich remain 20th.
Free-falling Blackburn are searching for their first win in five games after losing 2-0 at Blackpool and a second-half brace from substitute David N’Gog inspired Bolton to a 2-0 victory over Charlton, their first away defeat since September 18.
Derby made it back-to-back wins thanks to a 2-0 triumph against relegation-candidates Bristol City, Charlie Austin earned Burnley a 1-1 draw with Watford, while Brighton and Nottingham Forest shared the spoils in a goalless draw.