Two goals in four first-half minutes from Fabian Schar put the Magpies in control before Alex Moreno’s own goal after the break.
Ollie Watkins grabbed a consolation for the hosts, who lost in the league at Villa Park for the first time since last February.
THREE GOALS AND THREE POINTS AT VILLA PARK! 🤩 pic.twitter.com/j0IdAGvncm
Newcastle had lost six of their previous seven league games to slip away from the top four but victory lifted them to seventh, although still 11 points behind Villa.
They thrashed Villa 5-1 in the opening game of the season but since August the direction of travel for the two sides has been different.
Only Sheffield United had previously taken a point from Villa Park this season as Emery’s side mount a surprise Champions League charge, while the Magpies had won just once away.
Yet it was the visitors who dominated from the start and they conjured the first serious chance after 20 minutes. Jacob Murphy’s sumptuous ball found Anthony Gordon with Ezri Konsa for company and he managed to wriggle clear, but Emi Martinez raced out to save.
The Magpies were slicker, with Villa uncharacteristically timid, and Clement Lenglet needed to block Sean Longstaff’s effort after Martinez spilled Murphy’s strike.
Soon after, Gordon broke only to see his drive deflected over as Eddie Howe’s side began to find the gaps – which they then exploited with two quickfire goals.
Four minutes later only a last-ditch Matty Cash clearance denied Gordon a second but Villa were then undone by a corner again.
It was only half-cleared to Gordon and his volley clipped Lenglet to come off the underside of the bar, Schar following up to fire in his second from close range.
The defender had not scored in the league since August 2022 but now had two goals in four minutes.
For all the celebrations, though, the Magpies lost Alexander Isak to injury just before the break and John McGinn nodded over a rare Villa chance in stoppage time.
If Villa thought half-time would ease any woes they were mistaken as they fell further behind six minutes into the second half.
Miguel Almiron, who had replaced Isak, robbed Cash on the halfway line for Gordon to then send him scampering down the right.
The Paraguayan’s delivery found Murphy at the far post and when the winger tried to turn it in, Moreno ultimately bundled it into his own net.
Newcastle should have been cruising but Villa came back fighting and Watkins slipped in Moussa Diaby to round Martin Dubravka only for Schar to mop up.
— Aston Villa (@AVFCOfficial) January 30, 2024
Dubravka also needed to turn Cash’s shot away before Watkins pulled one back with 19 minutes left when he turned in impressive substitute Leon Bailey’s cross for his 50th Premier League goal.
Two minutes later he was denied by a tight VAR call after slotting in with Newcastle rocking but Villa’s momentum was halted.
Longstaff should have even added a fourth with a minute left, only to be denied by Martinez, as the Magpies held on.