An injury-time header from Jamie McCombe rescued a point for Bristol City as they missed the chance to go top of the Championship table. Lee Hills had volleyed visitors Crystal Palace into a 1-0 lead on the hour.
With seven minutes remaining Palace keeper Julian Speroni saved Bradley Orr's penalty and the rebound from the City midfielder.
But deep into injury time McCombe rose highest to head home Lee Johnson's corner to share the spoils.
Bristol City manager Gary Johnson:
"Palace stopped us playing our normal passing game and we had to go very direct in the closing stages. "We work hard on set pieces and Lee has produced a perfect corner under pressure for big Jamie to head in.
"I thought our chance had gone when we missed the penalty. But thankfully my players had other ideas and you have to give them credit for keeping going to the final whistle."
Crystal Palace manager Neil Warnock:
"The penalty award was one of the softest I've ever seen and why the referee played over the four minutes at the end only he will know. "I've tried to see him, but he refused. I have to be careful what I say because it could cost me a lot of money, but I'm very disappointed.
"You can plan for the opposition, but not the officials. I don't think we deserved that at the end and it's very frustrating."
Bristol City: Basso, Orr, McCombe, Fontaine (Vasko 84), McAllister, Sproule (Byfield 69), Johnson, Elliott, Carle (Trundle 69), McIndoe, Adebola.
Subs Not Used: Weale, Skuse.
Booked: Carle.
Goals: McCombe 90.
Crystal Palace: Speroni, Butterfield, Hudson, Hills, Lawrence, Soares (Scannell 69), Hill, Derry (Fonte 85), Watson, Fletcher, Kuqi (Scowcroft 79).
Subs Not Used: Morrison, Ifill.
Booked: Hill, Lawrence, Soares, Scowcroft, Hudson.
Goals: Hills 61.
Att: 16,446
Ref: Richard Beeby (Northamptonshire).
Bookmark with:
What are these?