Pablo Hernandez struck in the second half to earn Leeds United a narrow 1-0 win over Reading on Saturday afternoon at Elland Road.
A full-blooded match in Yorkshire saw a nip-and-tuck first half where both sides had chances to open the scoring, but the hosts would take advantage when Hernandez deftly lifted the ball over Rafael in what would be the winner.
Reading fought until the final whistle on Saturday afternoon, but the points stayed in Leeds as the hosts opened up a five-point gap in the automatic promotion places in the Sky Bet Championship.
Reading started with one change following their impressive victory last time out against Sheffield Wednesday, with Pelé returning to the starting line-up following a minor injury in the Royals' only change.
However, after Ovie Ejaria gained an injury in the warm-up, Michael Olise was brought into the starting line-up to replace him and Gabe Osho was called up to the bench.
Leeds' high pressing, direct style showed an early warning sign for the Royals. Helder Costa stole a march on Liam Moore and was able to burst into the area. He opened up his body and shot across goal, but Rafael seemingly had it covered as it bounced wide.
But Reading were unafraid to show their attacking flair either, with Olise's clever touch leaving Kalvin Phillips on the ground in midfield. He squared to Yakou Méïté on the right, with the Royals winning a corner that was eventually cleared by the hosts.
A loose ball saw Omar Richards and Luke Ayling collide in midfield. The Leeds full-back upended our Academy graduate and was promptly shown an early booking for his troubles.
The Royals were happy to get involved in the physical side of the game at Elland Road, going blow for blow with their title-chasing opponents as they battled for midfield supremacy.
At the back, Reading were also holding firm. Vital interceptions from Richards and a key block from Liam Moore from a Pablo Hernandez strike kept the hosts at bay in quick succession.
Andy Rinomhota was able to find space in midfield and maraud forward, though. His attempted pass to Swift was only cut back into the path of George Pușcaș 20 yards out. He struck first time and drew a clawing save to his left from Kiko Casilla in the Leeds goal.
The intensity at which the first half played out was unrelenting. Reading were winning more than their fair share of battles all over the pitch, but the breakthrough was proving difficult for both teams.
Leeds suffered a blow when influential midfielder Phillips had to be withdrawn with injury before the end of the first period, with Ezgjan Alioski replacing him.
Shortly before the interval, the Reading skipper came to the team's rescue. A low ball into the box from Jack Harrison was turned goalwards by Costa, but Moore flung himself in front of the ball to block it over the bar in a crucial interception.
The hosts had the upper hand as the half-time whistle approached. A succession of corners saw a cross floated to the far post, with Ayling chesting down and firing hard - blazing over the bar in front of a home support frustrated by the lack of an opening goal.
A quick Leeds attack saw the substitute, Alioski in space to the left of the box, shooting low and forcing a quick reaction stop from Rafael.
Reading resisted the attacks until the whistle went, and it was honours even in a frantic first half at Elland Road.
Half-time | Leeds United 0-0 Reading
Inside the first minute of the second period, Leeds tried to catch the Royals napping when Mateusz Klich pounced in the final third to steal possession.
He took aim from outside the area, with Rafael at full stretch, but his effort flew past the goalkeeper's left-hand post in blustery conditions in West Yorkshire.
Leeds flew out of the traps as they tried to stamp their authority on the game, with Rafael on hand to deny Patrick Bamford from eight yards shortly after Klich's strike.
Unfortunately for the Royals, the hosts' pressure told and they finally broke through around the hour mark.
Klich picked up possession on the right and fed Hernandez on the edge of the box. An initial strike was blocked by Moore, but the veteran winger steadied himself to prod beyond Rafael and into the top corner.
Reading tried to respond immediately and won a free kick outside the Leeds area. Méïté stood over it on his preferred side of the area, but he could not trouble Casilla in the Leeds goal that time around.
The goal changed the complexion of the afternoon from a Reading point of view, as Marcelo Bielsa's men began to open up and pressure the Royals further, knowing they had a goal advantage.
However, a free kick from Olise on the halfway line troubled the Leeds defence, with Méïté flicking towards Pușcaș in the box. His shot cleared the crossbar, while under pressure from the back-tracking Ayling on the six-yard line.
Despite their deficit, Reading were still very much in the match and kept up the possibility of equalising as the clock ticked on, with Méïté joining Pușcaș in a centre-forward position as the search for the leveller intensified.
Charlie Adam was introduced in place of Swift with 15 minutes remaining, as Reading changed formation to push for a late equaliser.
Leeds were still fighting to establish daylight between them and the Royals, with Hernandez bending a free-kick around the wall and forcing Rafael into a smart stop on his line.
Reading continued to throw everything they could at Leeds, but the hosts were resolute in defence and carried on their ruthless record after taking the lead in matches.
Reading so nearly got the equaliser in the last minute of added time, when Moore broke into the box and forced a smart save from Casilla, before Richards fired over the bar on the follow-up. An agonising end to the game for the Royals.
Full-time | Leeds United 1-0 Reading
Leeds United: Casilla, Ayling, Cooper (c), White, Dallas, Phillips (Alioski 38), Klich, Harrison, Costa, Hernandez (Shackleton 81), Bamford.
Subs: Meslier, Douglas, Roberts, Augustin, Casey.
Goals: Hernandez (57)
Reading: Rafael, Yiadom, Morrison, Moore (c), Richards, Rinomhota, Pelé, Olise, Swift (Adam 75), Méïté, Pușcaș.
Subs: Walker, Baldock, Obita, Araruna, Blackett, Osho.
Yellow: Swift, Méïté
Referee: Jarred Gillett