Match ends, Bristol City 1, Luton Town 1.
Bristol City's long wait for a home win continued as Danny Hylton scored a 91st-minute equaliser for Luton Town to deny the Robins at Ashton Gate.
Substitute Hylton had an easy tap-in, in the first minute of added time, after City keeper Dan Bentley fumbled the ball and was caught off his goal line.
City had taken a second-half lead through defender Nathan Baker, who headed in for his first goal in almost two years from a Jay Dasilva free kick.
But, for the second time this season, Nigel Pearson's side conceded a late goal to be denied a win.
It means Bristol City's victory drought at home stretches to 14 matches, with their last win coming in January against Huddersfield Town.
The home side started the brighter of the two with Cameron Pring seeing his shot deflected behind for a corner inside the opening two minutes.
City continued to have the better of the possession, with Alex Scott, Andreas Weimann and Tomas Kalas among those who had chances.
But it was Luton who should have been in the lead as the first half came to a close. The Hatters saw three attempts in quick succession go awry with Luke Berry the first to miss an open goal, before Pelly Ruddock Mpanzu hit the bar and Cameron Jerome headed wide.
Minutes later City had the woodwork to thank again, as Tom Lockyer hit the post.
Baker then appeared to have broken City's winless spell at home, after Pring was fouled around 30 yards out on the left. Dasilva sent in the free kick, which the defender headed in from 12 yards.
Carlos Mendes Gomes had a shot that looked to be heading into the top corner tipped over the bar by Bentley as the visitors struggled to turn their chances into an equaliser.
That was until Hylton, who only came onto the pitch with 15 minutes to go, was afforded an easy goal. All he had to do was slot the ball into an empty net from Mendes Gomes's cross, to agonisingly deny Bristol City victory.
Bristol City manager Nigel Pearson told BBC Radio Bristol:
"I think for our fans and our players alike it's becoming a bit of a tune that we're not too happy to hear. It's facing up to the fact that a mistake has cost us dearly at the end of the game, a game in which we could have been behind by a couple of goals at half-time.
"I'm not looking at this from an unrealistic situation. Another open game in which they had the much better chances I'd have to say.
"But once you find yourself in a winning position, the benefits of coming away with a scruffy win are really, really important. We've let a winning situation slip again in the last moments of a game. It's because of a mistake again.
"If you can see goals that are well worked moves that's something different. Dan's (Bentley) made some great saves in the first half as well, but he'll be very disappointed with the last few actions of the game. So it's another frustration."
Luton Town manager Nathan Jones told BBC Three Counties Radio:
"It's bittersweet really, because you couldn't have gone in and hammered them because they've been excellent right up until finishing. We've been absolutely superb tonight.
"We give one silly free kick away and they punished us, because they can do that because they score 65% of their goals from set plays. We know that, we defended those all night.
"It should have been three or four at half-time. We should have been out of sight and I don't mean to be disrespectful, because I'm not. Bristol City are a good side, the manager is excellent. But tonight, we should have been out of sight.
"They've scored with their only chance really and then I'm just so pleased that we've shown character to come back and to score late."
- 26VynerSubstituted forDasilvaat 45'minutes
- 36ScottSubstituted forWellsat 37'minutes
- 16PringBooked at 37minsSubstituted forKingat 79'minutes
- 2BreeBooked at 88mins
- 8BerrySubstituted forMendes Gomesat 74'minutes
- 23LansburyBooked at 84mins
- 7CornickSubstituted forAdebayoat 63'minutes
- 35JeromeSubstituted forHyltonat 63'minutes
- 14Mendes Gomes
- Jeremy Simpson
- Shots on Target
Second Half ends, Bristol City 1, Luton Town 1.
Foul by Danny Hylton (Luton Town).
Robert Atkinson (Bristol City) wins a free kick in the defensive half.
Reece Burke (Luton Town) wins a free kick in the defensive half.
Foul by Chris Martin (Bristol City).
Foul by Elijah Adebayo (Luton Town).
Nathan Baker (Bristol City) wins a free kick in the defensive half.
Goal! Bristol City 1, Luton Town 1. Danny Hylton (Luton Town) right footed shot from very close range to the centre of the goal.
Offside, Bristol City. Nathan Baker tries a through ball, but Nahki Wells is caught offside.
James Bree (Luton Town) is shown the yellow card for a bad foul.
Foul by James Bree (Luton Town).
Nahki Wells (Bristol City) wins a free kick in the defensive half.
Attempt missed. Tom Lockyer (Luton Town) right footed shot from outside the box misses to the left. Assisted by Henri Lansbury.
Attempt blocked. Elijah Adebayo (Luton Town) right footed shot from the left side of the box is blocked.
Henri Lansbury (Luton Town) is shown the yellow card.
Foul by Henri Lansbury (Luton Town).
Chris Martin (Bristol City) wins a free kick in the defensive half.
Foul by Danny Hylton (Luton Town).
Andy King (Bristol City) wins a free kick in the defensive half.