The home side drew first blood with a stunning early goal before Gabriel Jesus levelled the scores with a clever finish from close range.
Both sides struck the woodwork after the break but the Blues will feel three points were deserved given the balance of play.
The Vitality Stadium made for a colourful, vibrant setting with the game played in baking-hot south coast sunshine.
The hosts, who had been habitually thrashed by City in the previous four Premier League meetings, were in the Blues’ faces from the kick-off, pressing high with energy and aggression.
City were on the back foot and still struggling to settle when the Cherries struck the first blow with just 12 minutes played.
Having only half-cleared a Bournemouth attack, the ball fell kindly to midfielder Charlie Daniels who connected sweetly on the half-volley from 20 yards out to send an unstoppable rising shot in off the underside of the crossbar and send the home fans wild.
A cliché maybe, but certainly a contender for goal of the month – if not the season – and it had been coming.
The Blues were rocking somewhat and five minutes later came close to falling further behind when Dan Gosling’s cross found Jermain Defoe who was denied from six yards by a fine Ederson reflex save. It proved a costly miss for the England striker as within three minutes, City were level.
A quick free-kick from Gabriel Jesus to David Silva seemed to catch the home side off-guard and as the Brazilian sped into the box for Silva’s inch-perfect return pass, he had the relatively simple task of guiding the ball past Asmir Begovic with 21 minutes on the clock.
Referee Mike Dean then judged Nathan Ake’s dithering in possession and subsequent foul on Jesus to be a yellow card rather than a red 60 seconds later as the Blues began to take control – the Cherries man looked relieved at the decision and no wonder!
Then a blistering move involving Kevin De Bruyne and Benjamin Mendy should have seen Jesus score again moments later – but he pulled his shot wide after arriving slightly off balance.
City, so dominant since the equaliser, were picking the home defence apart at will, usually prompted by De Bruyne, Silva and Bernardo whose interplay was, at times, sublime.
Mendy and Danilo were providing the width and speed down either flank but the Cherries survived the siege until the break at least.
The pattern largely continued after the break, though Eddie Howe’s men recovered some of their early-game verve and when Josh King struck the inside of the post in the hour-mark, it was a timely reminder for City that there was plenty of hard work still to be done.
Aguero was sent on for Bernardo as both sides continued to find what would likely prove a decisive second and the Blues came within a coat of paint of taking the lead on 73 minutes when Nicolas Otamendi’s header hit the post following a De Bruyne corner.
With eight minutes remaining yet another close call for the hosts as Mendy’s low cross eventually found a lunging Silva but his shot went high over the bar from six yards out.
But no matter how hard the Blues knocked on the Bournemouth door, it seemed the elusive second goal was not going to arrive until, with seven minutes of added time played, a low Danilo cross was somewhat fortuitously turned home by Sterling whose shot gently looped into the left-hand corner of the net to give City a last-gasp victory.
The goal resulted in frenzied scenes among the travelling City fans and a rather harsh second yellow for Sterling – but what a finish!
Quite simply that dramatic late, late strike from Raheem Sterling
Matchday app star man: Gabriel Jesus
Inventive and hard-working, Jesus was a thorn in the Cherries’ defence from the start until the 82nd minute when he was substituted. He began and finished the move that ended up with his first goal of the season and was voted star man by the City Matchday App users.
The international break means there’s no game for the Blues for a fortnight when Jürgen Klopp’s Liverpool visit the Etihad, followed by the first game of this season’s Champions League adventure away to Feyenoord.