Swansea City kept they play-off hopes alive after a Gary Monk first-half header gave them all three points.
Angel Rangel had recovered from his Achilles injury to take his place in the starting line-up, while the Robins had former Swan Izzy Iriekpen in defence and Lee Trundle on the bench.
Bristol City skipper Jamie McCombe was shown a yellow card in the third minute as Jason Scotland tried to slip Jordi Gomez in on goal.
Scotland won a corner in the ninth minute but Adriano Basso gathered to set up a Robins attack which was soon cut out to leave the Swans back on the offensive.
Nathan Dyer was giving Iriekpen all sorts of trouble down the left flank but too often the final ball let him down.
When the goal came, in the 25th minute, it was from a move down the right by Rangel which resulted in a corner.
Andrea Orlandi took it and Monk headed in at the near post for his first goal of the season.
The Swans were now in top gear and a Gomez header almost beat the scrambling Basso but the ball was pushed away.
Bristol almost snatched an undeserved equaliser on the half hour from a free-kick but Monk blocked Michael McIndoe's shot and the resulting corner was cleared.
The visitors made a change at the interval with Wales international Gavin Williams replacing skipper McCombe.
It was Williams who brought a fine save from Dorus de Vries four minutes into the second half when his 20-yard dipping shot was tipped over the bar.
The arrival of Williams had pepped up the Robins, who looked a different side in the second period and the game became far more open.
Darren Pratley replaced Joe Allen and three minutes after taking the field his glancing header was cleared off the line by Williams.
On the hour a Basso clearance went straight to Scotland, but the striker steered his shot wide of an open goal.
Dele Adebola sent a header just wide as the Robins looked for an equaliser, but if the Swans had shown more composure in front of goal they would have put the game well beyond the visitors.