Despite dominating possession, Villa took 39 minutes to break through Brentford's stubborn defence when Ollie Watkins scored with a header. Morgan Rogers then needed just 33 seconds after the restart to give Villa a 2-0 lead.
However, Brentford fought back with Mathias Jorgensen halving the lead with a scruffy effort before Bryan Mbeumo scored moments later with a well-timed volley to make it 2-2, leaving Villa boss Unai Emery stunned on the touchline.
Brentford thought they had completed the turnaround when Sergio Reguilon found Yoane Wissa in the six-yard box for a simple tap-in, but Villa were back level in the 80th minute when Watkins rose above the defence to score with another header.
The result leaves Villa in fourth with 60 points, three points ahead of Tottenham Hotspur who have two games in hand. Brentford are 16th with 29 points, with the draw stretching their winless run to nine games.