With Peter Crouch and Darren Bent unable to make their returns from illness and injury respectively, both sides lacked attacking quality in the first half, although Villa did hit the woodwork through Emile Heskey, who was subsequently forced off with a recurrence of his Achilles problem.
There were chances at either end as a poor game opened up somewhat after the interval, and Wilson almost broke the deadlock in the 69th minute when his header - from Matthew Etherington's corner - struck the underside of the bar before being bundled away by Gabriel Agbonlahor, with replays suggesting the whole of the ball was not over the line.
Defeat would have been harsh on Villa, who belied their recent frailties from set-pieces by defiantly standing up to a Stoke side renowned for their aerial prowess.
Indeed, Alex McLeish may feel his side should have taken all three points after seeing them create the better chances from open play in a match low on quality but high on endeavour.
Villa remain 12th in the Barclays Premier League table, five points behind Stoke in eighth.
The Potters, who had won four league games in a row for the first time prior to Wednesday's defeat at Manchester City, started the match brightly and Robert Huth headed over an Etherington cross in the second minute.
Heskey came agonisingly close to putting Villa ahead in the 21st minute, his header from Charles N'Zogbia's corner striking Thomas Sorensen's left-hand post with the goalkeeper well beaten.
After becoming the first player to be booked, for a disputed foul on Agbonlahor, Huth then went close again, having been picked out at the far post by Dean Whitehead's free-kick.
The away team enjoyed a decent spell prior to the interval and Stiliyan Petrov blasted an effort wide following another break sparked by Ciaran Clark's thunderous challenge on Whitehead.
Stoke responded, however, and Villa goalkeeper Brad Guzan was forced to make a vital interception at Kenwyne Jones' feet after the Trinidadian striker had looked to get on the end of his own flick-on.
Heskey failed to emerge for the second half, so Nathan Delfouneso was introduced by McLeish.
After Carlos Cuellar had produced an important header at the back post to prevent Jonathan Walters from connecting with Ryan Shotton's cross, the substitute came close to giving Villa the lead in the 53rd minute.
Agbonlahor broke clear down the left before squaring for his strike partner, but Delfouneso's toe-poked finish was blocked by Sorensen with his legs.
Unsurprisingly, Stoke's main threat continued to come from dead-ball situations and Huth headed over for a third time, from an Etherington corner, shortly after the hour mark had passed.
Villa, however, remained sporadically dangerous in open play and N'Zogbia dragged a right-footed shot wide of the near post after cutting in from the left flank.
Stoke were left cursing their luck moments later as Wilson met Etherington's centre with a firm header from 10 yards out, only to be denied by a combination of crossbar and Agbonlahor.
Sorensen fumbled a tame N'Zogbia free-kick in the 75th minute, but no visiting player was in a position to take advantage.
With long throw specialist Rory Delap having been introduced in place of Wilson Palacios, Villa were forced to face an increasing aerial bombardment in the closing stages.
Yet it was the visitors who arguably looked more likely to snatch all three points as they attacked with pace and vigour.
A late Delap throw almost brought joy for Stoke, but Petrov's header drifted narrowly wide of his own goal.