Shane Long put Albion ahead in the third minute, delightfully controlling a long ball from Chris Brunt and slamming home.
And, after Boaz Myhill dived to keep out an Aleksandar Tonev strike, the Baggies found themselves 2-0 up in the 11th minute as Long capitalised on a poor attempted pass by Leandro Bacuna, collecting the ball, taking it forward and chipping Brad Guzan deftly.
Fit-again trio Andreas Weimann, Gabriel Agbonlahor and Fabian Delph had been restored to the Villa squad but only on the bench, and 12 minutes into the second half, manager Paul Lambert threw them all on at once in an effort to give his side new impetus.
Ten minutes later Karim El Ahmadi pulled a goal back for the visitors, volleying in from Weimann's header.
And with 14 minutes of normal time remaining an Agbonlahor cross was only cleared by Goran Popov's head as far as Ashley Westwood, who equalised with a fine, swerving shot from distance.
The 2-2 outcome was a repeat of the result in the fixture at the same ground last year, although on that occasion it was West Brom who fought back from 2-0 down at half-time.
This draw also saved face for Lambert, whose claim pre-match that Villa were the "bigger club" of the two looked set to haunt him in the early stages.
Both teams now have 15 points from 12 games, with Albion 11th in the table and Villa 12th.
If West Brom took additional motivation from Lambert's comments, it showed from the off as they raced into the lead.
Brunt hoisted the ball forward from inside the Albion half towards the Villa box and it was brought down expertly by the right foot of Long, who got away from Nathan Baker with another touch before smashing a shot past Guzan into the net with his left.
The visitors looked to hit back swiftly and in the sixth minute Tonev brought a decent near-post save out of Myhill, having cut inside from the left to unleash a shot that took a deflection off Gareth McAuley's head.
But Villa shot themselves in the foot five minutes later as Bacuna's mistake was seized upon by Long.
Having picked up the ball, the Republic of Ireland striker again got the better of Baker as he accelerated forward, this time slipping past him with a clever step-over, and then produced a cool chip that drifted over Guzan and in.
Stephane Sessegnon could - and should - have made it 3-0 in the 19th minute, but from Morgan Amalfitano's cross he failed to control the ball when unmarked in the box, sending it wide.
And Villa nearly pulled a goal back soon after as Libor Kozak collected Christian Benteke's knock-down and skimmed a strike against the top of the bar.
Long was looking hungry for his hat-trick and, after one of his bursts forward was halted by a good Ron Vlaar tackle, another took him straight through the Villa defence and he drove the ball against the body of Guzan.
At the other end, Benteke appeared less in the groove, sending one attempt off target before shooting against his team-mate El Ahmadi, with Tonev then hitting a low strike into Myhill.
After Amalfitano made an unsuccessful attempt on goal after the break, Lambert acted with his triple substitution - Tonev, Kozak and Yacouba Sylla the men removed - and it paid off handsomely.
Weimann fired a warning with a deflected shot that came off Myhill and trickled just the wrong side of the right post.
Then, after Sessegnon fired over from a good position, Albion failed to react as Weimann got his head to Bacuna's cross, teeing up El Ahmadi, who hooked in from close range.
Westwood then cracked in to level the scores and Villa now seemed the more likely to win.
But Weimann miscued an ambitious shot and the game finished all square.