Mateusz Klich opened the scoring early on and Pablo Hernandez made it 2-0 midway through the first period.
Hernandez added a third goal before the interval, moving to double figures for the season, as Leeds climbed above Norwich.
Marcelo Bielsa’s side had won four of their previous five matches, including 1-0 at Bristol City on Saturday.
Reading had gone into the game in a decent run of form themselves, with only one defeat in their past eight outings.
Reading manager Jose Gomes’s side had the better of the early exchanges, with right-back Andy Yiadom forcing a good save from Leeds goalkeeper Kiko Casilla.
It proved invaluable to Leeds as they then struck twice in eight minutes to take control of the game.
In the 14th minute defender Luke Ayling set up Klich for the calmest of finishes past an exposed home goalkeeper Emiliano Martinez after a neat dummy by Patrick Bamford.
Leeds stretched their advantage in the 22nd minute and Ayling was again the provider, freeing Hernandez to turn sharply and fire home past Martinez via touches off both posts.
Klich and Bamford wasted opportunities to increase the lead further, but two minutes before the break Hernandez was not so profligate.
Reading’s sloppy defence was again carved open as Hernandez lashed in a superb 10th goal of the campaign.
Although Reading made a spirited start to the second period, their final pass often lacked precision and the Leeds rearguard coped with ease.
Leeds appeared content to hold on to what they had and limited their attacking to quick breaks.
Reading did eventually begin to create openings, but Casilla stood firm. The Spaniard easily gathered a weak effort from former Leeds loanee Lewis Baker before then spectacularly tipping over a Yiadom header from Tyler Blackett’s cross.
Reading: Martinez, Yiadom, Miazga, Moore, Blackett, Baker, East (Harriott 63), Meite, Swift, Barrow (Olise 69), Loader (McCleary 81). Unused substitutes: Gunter, O’Shea, McShane, Walker.
Leeds United: Casilla, Ayling (Dallas 56), Jansson, Cooper, Alioski, Phillips, Hernandez, Roberts (Shackleton 69), Klich (Douglas 75), Harrison, Bamford. Unused substitutes: Peacock-Farrell, Berardi, Brown, Gotts.
Referee: Gavin Ward (Surrey).
All last night’s football results and the latest tables: Page 24.