Leeds took advantage of a surprise Norwich defeat to reclaim top spot in the Championship with victory over Swansea.
As Norwich went down 3-1 at Preston, Leeds held on for a 2-1 home win over Swansea which puts them one point clear at the summit.
And Norwich will be looking over their shoulders after Sheffield United beat 10-man Middlesbrough 1-0 to move within two points of the Canaries in third.
Birthday boy Pontus Jansson opened the scoring for Leeds in the 20th minute after a loose ball fell for him in the area.
And it was 2-0 after 34 minutes when Jack Harrison got his head to Ezgjan Alioski's cross to finish.
Oli McBurnie scored a late goal for Swansea from the penalty spot, but Leeds hung on.
Norwich trailed after only two minutes as Ben Davies headed in Paul Gallagher's cross.
Preston's Brad Potts then hit the crossbar before Emi Buendia brought down Darnell Fisher in the box to earn the hosts a penalty – which Paul Gallagher converted.
Norwich had a penalty of their own before the break when Ben Pearson fouled Onel Hernandez, but Marco Stiepermann missed the chance to get them back into it as Declan Rudd saved his spot-kick.
And Norwich knew it was not their night as Rudd made a fine save to deny Ben Godfrey moments before Ireland striker Seán Maguire made it 3-0 to the hosts.
Teemu Pukki scored for Norwich in stoppage time but it was little consolation.
Sheffield United scrapped their way to victory over fellow promotion hopefuls Boro.
The Blades had the ball in the net just before the hour, but Billy Sharp was offside as he turned it home.
But they were ahead two minutes later when Richard Stearman headed in from a free-kick.
And it quickly got worse for Middlesbrough when Daniel Ayala brought down Kieran Dowell on the edge of the box to earn his second yellow card.
Boro remained in the playoff places as Derby were held to a 1-1 draw at bottom-side Ipswich.
Derby needed only two minutes to take the lead with Tom Lawrence scoring against his old club – with the help of a deflection off Jonas Knudsen.
But Ipswich were level 10 minutes into the second half when substitute Jon Nolan fired low into the corner of the net.
Neal Maupay's stoppage-time goal saw Brentford earn a 1-0 win over Aston Villa.
At the other end of the table, Reading moved out of the bottom three with a 2-1 win over Blackburn.
Reading took the lead in first-half stoppage time when John Swift fired in – their first shot on target after plenty of Blackburn pressure.
Rovers were level with nine minutes later when Amari Bell, at fault for the Reading opener, fired home.
But it was Reading's night as Nelson Oliveira won it in style with a powerful shot five minutes from time.
Wigan and Stoke played out a goalless draw.