It was no less than the much-improved Blues side deserved although they were hugely wasteful in the final third, with Wade Elliott and Nikola Zigic particularly profligate while Robins keeper Dean Gerken was impressive.
Chris Burke, who found the net 14 times last season, was recalled to Lee Clark's starting XI and finally grabbed the all-important breakthrough - his second of the current campaign - with a well-taken finish in the 59th minute.
Marlon King latched on to Zigic's header to double Blues' advantage with his eighth goal this term, securing only a second win in seven games, before Gerken capped a fine individual display when he saved Peter Lovenkrands' penalty in injury time.
It will be a more than welcome three points for Lee Clark's outfit, who had only managed five goals in seven home games before kick-off and enjoyed a total of 20 shots at goal .
For lowly Bristol City it is sixth successive league defeat for the first time in seven years and their search for a first clean sheet of the campaign goes on.
Clark brought in Burke and Zigic after Saturday's 1-0 defeat to bottom club Ipswich, while Derek McInnes named an unchanged side from the 1-0 loss at Huddersfield - with top scorer Steven Davies, boasting four goals in three games prior to a torn hamstring, again missing out.
Clark had demanded a much-improved Blues performance from the very first whistle having struggled to comprehend his side's inconsistency, particularly when it came to slow starts in recent home outings.
And he will have been pleased with what he witnessed.
Elliott's early right-footed effort was spilled by Gerken, who was called into action again to comfortably save from King before Elliott, from an acute angle, fired wide.
Burke's strike was cleared away from the bottom corner by Liam Fontaine but as the first half progressed the Robins started to come into an encounter which was still waiting for its first clear-cut chance.
Hayden Mullins fired straight at Gerken before, at the other end, Jack Butland tipped Fontaine's header over the crossbar.
The game's first clear opportunity arrived in the 40th minute but Gerken was equal to King's effort, before Bristol City enjoyed a solid chance of their own but Butland was quick to deny Sam Baldock.
There was still time for Elliott to blaze over the bar from 12 yards.
The second half started in exactly the same way the first finished, Elliott firing high off target before Zigic followed suit.
Robins substitute Neil Kilkenny came close to prodding home before Ravel Morrison's 25-yard shot was saved by Gerken.
Elliott yet again found row z when he should have hit the target, with Stephen Pearson doing exactly the same for the away side.
The opener finally arrived just before the hour mark and deservedly went Blues' way.
Burke received the ball on the right before skipping past two players and unleashing an effort high past Gerken.
Zigic headed a great chance off target from close range but played a part in Blues' second soon after, knocking the ball into the path of King who converted into the bottom corner.
Gerken produced a great save to deny sub Lovenkrands from the spot amid eight minutes of injury time after Burke had been brought down, but the Robins remain winless against Blues since 1993.