Leon Bailey's early goal and Emi Buendia's header grabbed the points, Patrick Bamford netting a late consolation, as the hosts rode their luck at Villa Park.
Emi Martinez brilliantly denied Jack Harrison and Wilfried Gnonto while Rodrigo had a shot cleared off the line and a goal disallowed for offside.
But Villa hung on, scoring at vital times, to leave Leeds wondering how they left empty handed.
The hosts recovered from their embarrassing FA Cup exit to Stevenage, which had taken the gloss off what has been a positive start to Unai Emery's reign.
They needed a performance and result to banish any hangover, especially following last week's underwhelming derby draw with Wolves.
They got a result, if not a stellar display, and survived before Buendia's second-half clincher.
For Leeds, having avoided an FA Cup upset at Cardiff, any early-season optimism has disappeared to be replaced by anxiety.
Just two league wins since August has left them teetering on the edge of another relegation battle in a congested bottom half. Defeat on Friday extended their winless run to seven in all competitions.
Boss Jesse Marsch had already admitted he hates the stress which comes with the job, rather than the job itself, and he would have been forgiven for any angry outbursts after falling behind just three minutes in.
Leeds forced a corner, which Villa only just managed to clear, but from the break Boubacar Kamara ran unchallenged.
The midfielder advanced towards the visitors' area and slipped in Bailey on the right for the winger to cut inside and find the corner.
It was some redemption for Bailey - his selection likely to have been questioned by many at Villa Park - who left the pitch in tears after missing a last-gasp open goal against Wolves last week before a wasteful display in the FA Cup.
Villa lost Lucas Digne to a shoulder injury soon after, allowing Alex Moreno to make an earlier-than-expected debut, and Leeds responded well but when Rodrigo threatened Douglas Luiz snuffed it out.
A neat free-kick then allowed Rodrigo to escape, only to be denied by Martinez and Harrison scuffed the rebound against the post.
Leeds remained the aggressors with Rodrigo a constant menace and the striker was denied a leveller by Moreno four minutes before the break.
The full-back initially played him onside as he dashed onto Harrison's throughball to round Martinez but Moreno recovered to clear his goalbound shot behind.
Villa were rocking and when Luke Ayling knocked the ball across for Harrison he seemed certain to score but Martinez produced a brilliant block before Young deflected Gnonto's follow up over.
Seconds later Rodrigo swept in from on the floor, only for a belated offside flag to curtail Leeds' celebrations.
Half time spared Villa further. An early opener aside they had been overrun and Leeds rediscovered their stride quickly after the break, Young turning Brenden Aaronson's shot over following Tyrone Mings' slip.
Martinez was then needed to palm Gnonto's curling effort away before Villa briefly threatened when Douglas Luiz fired over.
A leveller only seemed a matter of time but it was Villa who doubled their lead after 64 minutes.
Bailey cut from the right and his fierce drive was parried by Illan Meslier and it fell for Buendia to nod in the rebound, despite Meslier's best efforts. The flag immediately went up but VAR came to Villa's rescue.
Danny Ings could have made it 3-0 but was denied by Meslier before Bamford pulled a goal back with eight minutes left.
Gnonto left Young in a heap to dart into the area, bamboozle Morgan Sanson to tee up the striker to sweep in.