Match ends, Aston Villa 3, Preston North End 3.
Aston Villa 3-3 Preston: Steve Bruce confirms fan threw cabbage
A supporter threw a cabbage at under-pressure Aston Villa manager Steve Bruce before his side's dramatic draw with Preston, in which Glenn Whelan missed a 97th-minute penalty.
Bruce said victory would not have made up for the abuse he was subjected to by sections of the crowd and it was "for others to decide what happens now".
Whelan was denied from the spot after fellow substitute Yannick Bolasie had scored a late equaliser for Villa, who had earlier blown a 2-0 lead against the Championship's bottom club.
Villa were coasting after first-half goals from Jonathan Kodjia and Tammy Abraham before James Chester's 54th-minute red card transformed the game.
Former Villa man Daniel Johnson sent keeper Mark Bunn the wrong way from the spot, then Paul Gallagher's low right-foot free-kick curled round the wall to level on 79 minutes.
From Gallagher's right-wing corner, Louis Moult headed North End in front, but on-loan Everton man Bolasie kept his head in the box to earn Villa a point.
On a night when Villa would have climbed seven places if they had won, it could have been all three points when Johnson felled Birkir Bjarnason in the box but, with the game going into the 97th minute, Preston keeper Chris Maxwell dived low to his left to save Whelan's effort.
- Football Daily podcast: Jose's out of love and Bruce's bad (cabbage) patch
- Relive Tuesday's EFL action as it happened
Bruce said that he felt all the decisions he has made this season had been "questioned" by fans and that what he had "witnessed in the stadium was not right".
"The guy who is being questioned…unfortunately, it sums up the society we are in at the moment. There's no respect for anyone," the 57-year-old said.
"I find the whole thing hugely disrespectful."
He added: "The one thing I've always had is the determination to roll up my sleeves and get stuck in. I'll always have a go."
Villa are 12th in the table having won only one of their last nine league games, while Alex Neil's North End stay bottom.
Bruce still out of luck and under fire
Bruce had pleaded for time in the wake of some indifferent results in recent weeks.
He insisted that the nucleus of his team is fine and that patience is needed in the boardroom and on the terraces while his summer additions - signed late in the August window following the club's takeover - settle into their new surroundings.
Despite the subdued pre-match mood Villa went ahead when Ahmed Elmohamady curled in a looping, angled right-foot cross from the right - and Kodjia climbed highest to power home a header.
Abraham then powered his way in from the left touchline to double Villa's lead when he slipped the ball through Maxwell at his near post.
Chester's sending off for felling Lukas Nmecha when through on goal gave the struggling visitors a way back into the game as Johnson stroked home the resulting penalty.
Paul Huntington twice headed over, Alan Browne drilled wide and Nmecha struck the post as the home mood suddenly turned ugly.
Bunn saved from Johnson but he was then caught out 11 minutes from time when Gallagher - who had just come on - bent in a low free-kick to equalise, and worse was to come when Moult headed with four minutes left.
That triggered chants of "We want Bruce out" from the home fans on the Holte End - but Villa showed that they still had some fight left in them.
But, after Bolasie levelled from close range, and Johnson inexplicably fouled Bjarnason, Whelan fluffed the chance to score only his second goal in seven years as Maxwell went to his left to parry the Irishman's poorly-struck penalty.
'I don't know where Bruce goes from here' - analysis
Former Villa striker Garry Thompson on BBC WM
"His luck's run out and it's been heading that way for a while now. Last night Villa were 2-0 up, threw it away, clawed their way back into it and then missed a penalty, so it feels like a defeat now.
"I just don't know where he goes from here. I think he'll probably get the Millwall game on Saturday before the international break but then decisions will be made.
"He's asking for time but he can't really complain because he's had everything he wanted. He wanted Robert Snodgrass last season, he got Snodgrass. He wanted experienced players and he got them in, and this season he's got Yannick Bolasie and Tammy Abraham.
"I've been listening to Steve and he sounds like a beaten man. When you ask for things and you get them then you have to win games. And if you don't win games people are going to be on at you."
- 27El Mohamady
- 5ChesterBooked at 54mins
- 7McGinnBooked at 78mins
- 26KodjiaSubstituted forBolasieat 74'minutes
- 14HourihaneSubstituted forWhelanat 83'minutes
- 10GrealishBooked at 71mins
- 18AbrahamSubstituted forBreeat 56'minutes
- 22El Ghazi
- 2FisherSubstituted forMoultat 83'minutes
- 6DaviesBooked at 64mins
- 4PearsonBooked at 89mins
- 18LedsonSubstituted forJohnsonat 45'minutesBooked at 90mins
- 29BarkhuizenSubstituted forGallagherat 77'minutes
- 45NmechaBooked at 87mins
- Peter Bankes
- Shots on Target
Second Half ends, Aston Villa 3, Preston North End 3.
Penalty saved! Glenn Whelan (Aston Villa) fails to capitalise on this great opportunity, right footed shot saved in the bottom right corner.
Delay over. They are ready to continue.
Delay in match Birkir Bjarnason (Aston Villa) because of an injury.
Daniel Johnson (Preston North End) is shown the yellow card for a bad foul.
Penalty conceded by Daniel Johnson (Preston North End) after a foul in the penalty area.
Penalty Aston Villa. Birkir Bjarnason draws a foul in the penalty area.
Corner, Aston Villa. Conceded by Ben Davies.
Goal! Aston Villa 3, Preston North End 3. Yannick Bolasie (Aston Villa) left footed shot from very close range to the centre of the goal. Assisted by Axel Tuanzebe following a corner.
Attempt missed. Axel Tuanzebe (Aston Villa) right footed shot from the centre of the box misses to the right following a corner.
Attempt blocked. Birkir Bjarnason (Aston Villa) header from the centre of the box is blocked. Assisted by John McGinn with a cross.
Corner, Aston Villa. Conceded by Paul Huntington.
Andrew Hughes (Preston North End) wins a free kick in the defensive half.
Foul by Yannick Bolasie (Aston Villa).
Ben Pearson (Preston North End) is shown the yellow card for a bad foul.
Foul by Ben Pearson (Preston North End).
Jack Grealish (Aston Villa) wins a free kick on the right wing.
Louis Moult (Preston North End) is shown the yellow card for excessive celebration.
Goal! Aston Villa 2, Preston North End 3. Louis Moult (Preston North End) header from the centre of the box to the bottom right corner. Assisted by Paul Gallagher with a cross following a corner.
Corner, Preston North End. Conceded by Birkir Bjarnason.
Corner, Preston North End. Conceded by Ahmed El Mohamady.
Substitution, Aston Villa. Glenn Whelan replaces Conor Hourihane.
Substitution, Preston North End. Louis Moult replaces Darnell Fisher because of an injury.
Attempt missed. Paul Huntington (Preston North End) header from the centre of the box is too high. Assisted by Paul Gallagher with a cross following a corner.
Delay over. They are ready to continue.
Delay in match Darnell Fisher (Preston North End) because of an injury.
Corner, Preston North End. Conceded by James Bree.
Goal! Aston Villa 2, Preston North End 2. Paul Gallagher (Preston North End) from a free kick with a right footed shot to the bottom right corner.
John McGinn (Aston Villa) is shown the yellow card for a bad foul.
Darnell Fisher (Preston North End) wins a free kick in the attacking half.
Foul by John McGinn (Aston Villa).
Substitution, Preston North End. Paul Gallagher replaces Tom Barkhuizen.
Offside, Preston North End. Daniel Johnson tries a through ball, but Callum Robinson is caught offside.
Attempt saved. Daniel Johnson (Preston North End) left footed shot from the right side of the box is saved in the bottom left corner. Assisted by Darnell Fisher.
Lukas Nmecha (Preston North End) hits the right post with a left footed shot from outside the box. Assisted by Daniel Johnson.
Substitution, Aston Villa. Yannick Bolasie replaces Jonathan Kodjia.
Attempt missed. Alan Browne (Preston North End) right footed shot from outside the box is close, but misses to the left. Assisted by Ben Pearson.
Jack Grealish (Aston Villa) is shown the yellow card.
Foul by Callum Robinson (Preston North End).