Paul Heckingbottom’s Barnsley came mighty close to slipping to a third straight Championship defeat, only to be saved by sub Sam Winnall’s dramatic 90th-minute leveller.
Winnall headed home Barnsley’s 4,000th league goal at Oakwell to rescue a point, converting Cole Kpekawa’s cross perfectly.
It had been looking as though the Reds mini-run of losses was set to be extended, but over the course of a pulsating 90 minutes, a draw was a fair outcome.
The Reds team had featured three changes from the one which succumbed meekly at Brighton.
Forward players Adam Hammill, Winnall and Adam Armstrong were all dropped to the bench, with Sam Morsy gaining a first Reds start, and Tom Bradshaw and Ryan Kent being recalled.
Though the first period did end goalless, both sides had played their part. The Reds probably shaded it in terms of possession and chances as they were trying to secure only their second-ever win against Villa in what was the first meeting between the two sides in more than 18 years.
The hosts had opened the more purposefully of the two sides, with the recalled Bradshaw almost breaking the deadlock early on as he tried to convert Kent’s low cross.
Minutes later centre-back Marc Roberts was up from the back as he headed over a Kent corner.
Villa roared back into contention swiftly, and it was their turn to go close when Mile Jedinak saw a decent header well saved by the alert Adam Davies in the Barnsley goal.
Back came the Reds with Conor Hourihane seeing a free-kick well saved by Villa stopper Pierluigi Gollini.
Both sides then had one more chance apiece to open the scoring before ref Mr Adcock blew for the interval.
The visitors went first, with England prospect Jack Grealish expertly carving out some space before unleashing a powerful drive which was deflected wide.
At the other end, Morsy - so impressive after being handed his opportunity - teed up defender Kpekawa, only his shot ballooned disappointingly over the crossbar.
It was Roberto di Matteo’s men who opened the second period brightest, and they almost struck in the 50th minute when the dangerous Jonathan Kodjia forced Davies into an excellent stop.
However, in keeping with what had gone before, the Reds responded with Hourihane firing in a powerful strike which was blocked.
It was very much a game still there for the taking, with the Reds fans hoping for similar late heroics to those shown by their team recently at Wolves.
Their hopes were almost dashed just before the hour mark when Villa’s Aaron Tshibola dragged another shot just the wrong side of the post.
Villa were undoubtedly on top when they did break the deadlock in the 62nd minute.
And it was Jordan Ayew who finally beat the gutsy Davies, finding space in the box before slotting comfortably into the bottom corner.
Now another test of character was beckoning for Heckingbottom’s battlers, and Winnall was to give the hosts hope as he came on to make what was his 100th Reds appearance.
The focus was still on Villa’s impressive attacking , though, with Davies forced to come to the rescue again to beat away Kodjia’s header.
Late on the Reds pushed hard for an equaliser, with Josh Scowen going close as the clock ticked down.
Their late persistence eventually paid off as Winnall struck.
Barnsley (4-3-3): Davies; Yiadom, Roberts, MacDonald, Kpekawa; Morsy (Armstrong, 66), Scowen, Hourihane; Watkins (Hammill, 72), Bradshaw (Winnall, 66), Kent. Subs not used: Townsend, Jackson, Bree, Lee.
Villa (3-4-3): Gollini; Chester, Elphick, Cissokho; Adomah (Gestede, 86), Grealish, Jedinak, Tshibola (Westwood, 74); Bacuna, Kodjia, Ayew. Subs not used: Bunn, Baker, Hutton, Amavi, McCormack.
Referee: James Adcock (Nottinghamshire).