© Getty Images
In the early stages it was Cardiff who looked most threatening, with Peter Whittingham testing Joe Hart on a couple of occasions.
City were, as expected, controlling possession but they didn't have their first shot on target until the 35th minute when David Silva curled into the palms of David Marshall.
As the first half drew to a close, Campbell had two late chances for the hosts but was first put off by Joleon Lescott before Hart came out to deny the frontman from a tight angle.
© Getty Images
The visitors were only ahead for eight minutes though as, on the hour mark, Kim Bo-Kyung beat Gael Clichy to the byline and crossed low for Campbell. His shot was saved at point blank by Hart but Aron Gunnarsson followed up to squirm a shot under the City keeper.
With 15 minutes on the clock Samir Nasri's low shot was blocked by a wall of red bodies before Cardiff stunned the 2012 champions by going ahead.
Whittingham's deep corner was missed by a backtracking Hart and Campbell was there to power the ball into the net inadvertently with his shoulder.
The dream start to home matches in the Premier League for Malky Mackay's side was sealed three minutes from time when Campbell again met a corner at the back post, this one from the other side from Don Cowie.
The Cardiff City Stadium was rocking until Alvaro Negredo headed his first goal in a City shirt in the 92nd minute to send a nervous air around the ground with four minutes of stoppage time left.
Aguero had the chance to break Cardiff hearts in the 95th minute but he scuffed his shot into the side-netting.
Both sides now have a win and a loss in the league this year, with City five places higher than Cardiff because of their better goal difference.