El Ghazi was left unmarked to turn home the only goal from close range in the fifth minute and dogged defending saw Villa avenge their 3-0 home defeat to Leeds in October.
Villa secured just their second win in seven league games on the road, while Leeds’ see-saw first season back in the top flight continued.
Marcelo Bielsa’s side were denied back-to-back home wins after Tuesday’s 3-0 defeat of Southampton and were rarely allowed to hit the same heights.
When Raphinha went close to scoring inside the opening 30 seconds - he just failed to connect with Patrick Bamford’s cross - it appeared this would be another game at Elland Road this season that you could not take your eyes off.
But while it ebbed and flowed in the first half, Villa shut down their opponents after the interval and for Leeds the game ended in a whimper.
Villa had a penalty appeal turned down when a corner struck Luke Ayling on his arm and then capitalised on sloppy Leeds defending to take a fifth-minute lead.
Ollie Watkins slipped as he fired at goal, but the ball found its way to the unmarked El Ghazi on the six-yard box and although he too lost his footing, he steered home his sixth league goal of the season.
Leeds responded through Tyler Roberts, but his thumping effort was well saved by Villa goalkeeper Emiliano Martinez and then El Ghazi twice went close to extending Villa’s lead.
The Dutchman’s first shot was tipped over the crossbar by Illan Meslier and he pulled his second, a low effort, just wide.
Stuart Dallas fired in a low shot and home skipper Liam Cooper headed straight at Martinez as Leeds chased an equaliser.
El Ghazi maintained his shoot-on-sight policy, but was wayward with another effort and at the other end Helder Costa’s low shot was blocked and Roberts fired over, with Leeds restricted to half-chances as half-time beckoned.
Leeds continued to force the issue at the start of the second period, but the killer pass eluded them.
Cooper did just enough to divert Villa captain Tyrone Mings’ header wide from a corner, but the free-flowing action before the break made way for a more scrappy affair.
Villa doggedly defended their slender lead and both sides were guilty of halting play with niggling fouls.
Leeds struggled to break down a resilient defence and when substitute Jack Harrison’s late cross offered them their best chance of rescuing a point, Raphinha fluffed his header.
Join our new commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies