A late strike from Jack Harrison was enough to give Leeds United a 1-0 win against Reading on Tuesday night.
The Whites moved to the top of the table with a win against the Royals, who were good value for at least a point after holding firm for the majority of the match at Madejski Stadium.
After a cagey first half, the game opened up and both sides had chances, with Harrison finishing a Hélder Costa cross three minutes from time to end Reading's unbeaten home run.
The Royals lined up with two changes as Chris Gunter came in for his first minutes of the season, while Yakou Méïté replaced Sam Baldock to lead the line with George Pușcaș.
Leeds started quickly at Madejski Stadium, asserting dominance on the ball from the off. However, Reading broke at pace as Méïtéout-muscled his marker in midfield and set off on the right flank.
The Ivorian cut across goal for the on-rushing Pușcaș, who couldn't quite get his foot to it in a quick Royals counter-attack.
Reading grew into proceedings shortly afterwards, matching their opponents' high press to try and break Leeds' rhythm early on.
Play began to settle down after a frantic first quarter-hour which saw possession go back and forth, with Méïté trying to cross low into the area, but Kiko Casilla was able to hold on, coming off his line to claim.
In the 19th minute, both sets of supporters rose to their feet in a minute's applause for Ryan Duval, a young Royals fan who sadly passed away earlier in the month. A framed Ryan's Royals shirt was in the Reading dressing room prior to kick-off, as the club honoured Ryan's memory.
On the pitch, the midfield tussle continued as the Royals were making life difficult for Leeds as they searched for an opener in RG2.
Leeds were forced into an early change after the half-hour mark as Tyler Roberts went down unchallenged in midfield. Wolves loanee, Hélder Costa came on to replace him.
Clear-cut chances were at a premium at the Madejski in the first half, with the respective defences holding firm in a tight battle between the teams.
The first proper goalscoring opportunity came after 42 minutes, with Swift swinging a corner to the far post for the Royals.
Méïté got his head to it, powering into the ground, but Casilla got down quickly to scoop it up on the line to block a Reading opener.
An evenly-matched first half overall, with the teams going in goalless at the break.
Half-time | Reading 0-0 Leeds United
Reading had to be alert from the off at the start of the second half, as a ball across the box was dummied by Dallas into Costa's path. He struck first time and Omar Richards was able to block well.
Mark Bowen's side began to crank up the pressure on the visitors, with a succession of long throws and corners testing the Leeds defence - but the Whites were able to block Reading's advances.
The visitors forayed forward themselves near the hour mark, with Klich finding space on the right to cross. The ball bounced across goal, with Bamford rushing in, but the striker could only bundle it over the bar from close range.
Leeds almost took the lead shortly afterwards, with the ball sitting up invitingly for Dallas to strike from 25 yards. The winger put plenty of venom in the strike with Rafael beaten, only for the crossbar to intervene and keep parity in the match.
Up the other end, Swift arrowed a low free-kick into the Leeds box that stopped with Méïté. He was bundled over in the area with the ball sitting up for Morrison to strike. He tried to chip Casilla, but he also cleared the bar in Reading's best chance of the match up to that point.
Chances started to come for the teams as the half progressed, with a Harrison cross for Leeds finding Dallas, who struck on the volley but Rafael got hands to it and held on.
Lucas Boyé was sent on for the final 20 minutes in place of Pușcaș, with the game still hanging in the balance at Madejski Stadium.
But it was Leeds who would threaten again shortly after Boyé's introduction. A corner was punched by Rafael into the path of Ben White, who swiped at his shot and didn't threaten the target.
The volume continued to increase in RG2 as the match sat on a knife-edge heading into the final 15 minutes, with Reading fans around the ground making themselves heard.
Play stopped as Andy Rinomhota was given medical attention for a clash of heads with Liam Cooper, which drew blood from the Reading midfielder. A couple of minutes later and with a new shirt on, Rinomhota came back on as the Royals set up to battle to the finish.
Danny Loader was brought on for Méïté in the final few minutes, adding a fresh pair of legs up front for the final few minutes.
Ejaria danced his way through midfield and won a free-kick 30 yards out. Swift stood over it, bringing a solid save from Casilla.
However, Leeds broke quickly and broke the deadlock three minutes from time. The counter-attack was quick and a cross from the right from Costa found the head of Harrison, who poked beyond Rafael to give the league's high-flyers the advantage.
Three minutes were added on for the Royals to find an equaliser, but Leeds were able to hold on and take three points back to West Yorkshire on the night.
Full-time | Reading 0-1 Leeds United
Reading: Rafael, Gunter, Miazga, Morrison, Moore (c), Richards, Rinomhota (McCleary 90+3), Ejaria, Swift, Méïté (Loader 86), Pușcaș (Boyé 70).
Subs: Walker, Howe, Blackett, Pelé.
Leeds United: Casilla, Ayling, White, Cooper (c), Dallas, Hernández, Phillips, Klich (Alioski 66), Roberts (Costa 34), Harrison (Shackleton 90+3), Bamford.
Subs: Meslier, Douglas, Berardi, Clarke.
Goals: Harrison (87)
Attendance: 16,918 (2,050 away)
Referee: Darren Bond