Cardiff City, down to ten men for most of the game, came close to snatching a point with a spirited second-half display at Bristol City.
They piled the pressure on the Robins' goal after the home side had been forced to change their keeper.
Adriano Basso, who was injured in a tackle which saw Cardiff's Steven Thompson sent off, handed over his gloves in the second half to Chris Weale, who was playing his first competitive game in a year.
Weale never looked secure but made an important late deflection to deny Stephen McPhail.
It was a tense Severnside derby but hardly justified the seven cards handed out by referee Uriah Rennie.
Cardiff, who had not won on 15 previous visits to Ashton Gate, had a mountain to climb after Thompson had been sent off in the 15th minute.
The Scot, who had scored in three of his last four matches, raced into a byline challenge on Basso who was trying to shepherd a loose ball out for a goal kick.
Basso needed treatment, but minutes later pulled off a wonderful save to deny Joe Ledley. However, as the injury stiffened up he was forced to miss the final third of the game.
The Welsh side had almost taken the lead early on when Thompson's header was cleared off the line. But as they regrouped after the red card, Jimmy Floyd Hasselbaink became a more and more lonely figure in attack and was eventually replaced.
He always had a hard battle though with City skipper Louis Carey and often found himself alone with the ball waiting for support to arrive.
In the first half most of the chances fell Bristol City's way and Kasper Schmeichel pulled off a first-rate save to deflect a Lee Trundle drive away before Lee Johnson and Ivan Sproule hit shots just wide.
City's breakthrough came from their fifth corner just short of the hour when Johnson's long kick was headed downwards by Marvin Elliott to squirm a shot home through a crowd of players.