The striker cancelled out Daniel Podence’s opener as the hosts recovered from a below-par first half to grab a 1-1 draw.
Wolves were on course for their first back-to-back away wins in the Premier League for a year but were forced to settle for a point and they remain in the relegation zone.
They were well worth their lead but Julen Lopetegui needs wins to haul his side, who have been in the bottom three since October, to safety.
Villa sit 11th as Unai Emery continues to enjoy his honeymoon spell and he matched the result when he and Lopetegui met in LaLiga in September when Villarreal drew 1-1 with Sevilla.
It should have been better, though, only for Leon Bailey to miss a glaring chance in stoppage time.
Wolves enjoyed a positive start, they were hardly brimming with ideas but did enough to have Villa worried and Ezri Konsa cleared Nathan Collins’ effort when Emi Martinez – back from his World Cup triumph – was beaten.
Several corners and deep crosses were tossed into the Villa box, each of them repelled, but the hosts’ brief resistance broke after 12 minutes when Wolves worked their way through with some style.
A cross was only cleared to Podence on the touchline and he swapped passes with Joao Moutinho to wriggle into the area. He still had plenty to do but the forward danced past the static Douglas Luiz and expertly curled into the corner.
Having been bold and ambitious in Sunday’s 2-0 win at Tottenham, Villa were anything but in a Midlands derby, allowing Wolves to dictate and threaten almost at will.
The hosts were sloppy and Martinez needed to bail them out, saving at the feet of Matheus Nunes – although the midfielder should have done better.
It was a lucky escape for Villa and any first-half recovery seemed unrealistic, even if Jose Sa needed to turn Lucas Digne’s free kick over, with Emery’s men floundering.
Boubacar Kamara was bypassed, Emi Buendia subdued and Luiz had been made to look a fool by Podence after all three had excelled at Spurs.
That was down to Wolves’ work rate and gusto as the visitors cut off any supply line and quickly got men back to frustrate Villa and protect their lead.
Any way back would need to come from a Wolves mistake. Lopetegui’s side, especially Sa, had been prone to the occasional sliced clearance but they navigated their way to the break with minimum fuss.
Wolves were happy to slow the pace down and called for new striker Matheus Cunha with 24 minutes left but it was Adama Traore, off the bench at the break, who went close to doubling the lead when he fired over after cutting in from the right.
Villa had barely threatened but went agonisingly close to a leveller with 15 minutes left.
First the hosts wanted a penalty after Hugo Bueno kicked the ball into his arm but they continued to attack and when Ludwig Augustinsson was found at the far post his crisp volley was brilliantly cleared off the line by Max Kilman.
The hosts did not have to wait long for a leveller, though, as Ings struck three minutes later.
It was a simple goal which ultimately unlocked Wolves as Tyrone Mings’ long ball found Ings and, with Sa dithering and slipping, the striker calmly finished.
Rayan Ait-Nouri forced Martinez into a save but Bailey should have won it for Villa at the death when he ran onto Ings’ pass, rounded Sa but somehow scuffed his shot wide.