Trailing to a first half strike by Tommy Mooney, they struck back with a header from Lee Peacock - his ninth goal of the season - and the fierce left-foot shot from Aaron Brown.
Both sides now have 20 points and are in challenging positions up with the pace in the Second Division table.
Swindon had the better of the first half but Bristol's resolve won them the second. Both teams had injuries, the most significant being Swindon's top scorer Sam Parkin who was missing with a knee injury. This led to the Wiltshire club playing with five across the middle of the park with Mooney a lone raider.
His pace and determination, though, was always going to cause problems for defenders and early on he was not far away with a searing shot from Matt Heywood's pass which flew just over the top.
With Andy Gurney sending an explosive 35 yard free kick flying just wide the first 20 minutes or so belonged to Swindon.
When City eventually got into the game Tony Butler, going up for a corner, thundered a header against the bar and Peacock had a shot smothered at the foot of Rhys Evans' left post.
Australian Luke Wilkshire was creating problems behind City's front men and Brian Tinnion, in a central role, was supplying the other passes.
Suddenly, in the 34th minute though, everything went wrong for the home side. Peacock, deep in Swindon's half, was penalised and Adi Viveash, with a long free kick, caught City's defence napping. As the ball was flicked on, centre back Danny Coles lost Mooney who slid in right-footed to secure his eighth goal this season.
It was no more than Swindon deserved but it immediately brought a tactical switch from the City bench.
Mickey Bell was pushed up into the middle line and with Coles moving to right back they played with three at the back.
The nimble thinking from the bench paid off seven minutes after the break. Wide on the left Bell pushed a pass on to Brown who lifted it towards the near post where Peacock's glancing header set the match alight.
It was time for another rethink and City, using all of their substitutes, reverted to a familiar four-four-two formation as they successfully went for the win.
The victory was completed by Aaron Brown’s 72nd minutes strike. Running on to a through ball from Wilkshire the City left winger fired the ball past Evans in the Swindon goal for his second goal of the season.
City: Phillips; Woodman, Butler, Coles, Bell (Hill 67); Wilkshire, Burnell (Roberts 67), Tinnion, A Brown; Peacock, Miller (Lita 85).
Subs not used: Stowell, Hulbert.
Swindon: Evans; Heywood, Gurney, Viveash, Herring; Igoe (Stevenson 73), Miglioranzi (G Smith 9 (Reeves 63)), Hewlett, Duke, Howard; Mooney.
Subs not used: Griemink, Ruster.
Referee: H Webb (S Yorkshire)