Both teams had chances, with Jack Grealish working Rui Patricio and Wolves coming close before half-time when Orjan Nyland's loose throw landed invitingly for Diogo Jota, who fired over.
The visitors introduced Adama Traore for Jota on 60 minutes and the substitute was involved in the breakthrough goal two minutes later.
A slick team move ended with Jonny laying the ball back for Dendoncker to score with a low finish.
A third successive clean sheet ensured Nuno Espirito Santo's side moved up to fifth place on 52 points.
Villa remain 19th with 27 points.
Aston Villa: 5 Jul v Liverpool (A)
Wolves: 4 Jul v Arsenal (H)