Villa collected an important point from a compelling derby against Albion at The Hawthorns but were disappointed to surrender a two-goal advantage.
Christian Benteke's magnificent shot - his 10th goal for the club - gave Paul Lambert's men a 12th-minute lead, and when Gabby Agbonlahor rifled home a second just past the half hour mark Villa were on course for their third Barclays Premier League away win of the season.
With the impressive Charles N'Zogbia setting up both goals, Villa were well in control at the break, particularly when Eric Lichaj almost grabbed a third.
But home skipper Chris Brunt reduced the deficit four minutes into the second period, and Peter Odemwingie brought the scores level seven minutes from the end.
Despite having skipper Ron Vlaar back in the line-up, Villa were forced to reorganise at the back after just five minutes.
Nathan Baker went down awkwardly after Odemwingie had slipped past him and it was clear he was in considerable discomfort as he limped off to be replaced by Lichaj.
The American slotted in at right-back, with Matt Lowton moving into central defence alongside Vlaar and Ciaran Clark.
Odemwingie's low cross, meanwhile, had been met by Romelu Lukaku, whose fierce drive deflected for a corner off Vlaar.
If that was an early let-off for the visitors, though, they were ahead when N'Zogbia played the ball inside from the left to Benteke, who turned away from Claudio Yacob before unleashing a swerving, rising right-foot shot which flew past Ben Foster and into the corner of the net.
Brad Guzan saved well from both Yacob and James Morrison as Albion went in search of a quick equalize, although in between those efforts Fabian Delph had a shot well held by Foster - and in the 31st minute Villa increased their lead.
N'Zogbia was again the provider, this time moving on to Ashley Westwood's long pass to play a short ball from the right touchline.
Agbonlahor swept past Gareth McAuley to send a low 15-yard left-footer just inside Foster's near post.
Once again, the goal brought a positive response from the Baggies, but once again Guzan was equal to the task, diving to his left to clutch a rising drive from Graham Dorrans, although he was relieved shortly afterwards to see a 20-yard drive from the midfielder flash narrowly wide.
Villa almost had a third goal in the 42nd minute, N'Zogbia making a fine run before cutting the ball back to Lichaj, whose left-foot shot was blocked by Foster.
The first half ended with Guzan saving Brunt's long-range effort, but within four minutes of the resumption the Albion skipper had reduced the deficit.
Odemwingie played the ball in from the left and Lukaku knocked it back for Brunt to send a well-placed left-foot shot past Guzan and in off the post.
Agbonlahor was close to restoring the two-goal advantage when he darted past former Villa man Liam Ridgewell for a powerful drive which Foster palmed away but Albion were now looking increasingly dangerous.
During one sustained spell of pressure, a Dorrans shot flashed just wide, Jonas Olsson's header was cleared off the line by Joe Bennett and James Morrison fired just over.
And Villa hearts were in their mouths when Odemwingie's low angled shot sneaked only inches past the post with Guzan beaten.
At the other end, sub Brett Holman was off target on a couple of occasions but in the 83rd minute Albion were level, Odemwingie volleying home from close range after McAuley had headed Brunt's corner across the goalmouth.
Albion:Foster; Jones, Olsson, McAuley, Ridgewell; Morrison, Yacob (Thomas 38) Brunt (Thorne 90), Dorrans (Rosenberg 82); Odemwingie, Lukaku. Unused subs: Myhill, Popov, Dawson, Tamas.
Villa: Guzan; Clark, Vlaar, Baker (Lichaj 5); Lowton, Westwood, N'Zogbia (Holman 66), Delph (Bannan 53), Bennett; Benteke, Agbonlahor. Unused subs: Marshall, Ireland, Bent, Holman, Bowery.