The former Manchester United striker struck twice to earn the newly-promoted hosts a remarkable upset win in the Welsh capital
The Welsh side had had to come from behind to secure the three points, with Edin Dzeko having fired the visitors into the lead in the 52nd minute with an outstanding strike from distance.
City were not ahead for long, though, as Iceland international Aron Gunnarsson netted a close-range finish on the hour, after Campbell had seen his effort saved by goalkeeper Joe Hart.
The ever-threatening Campbell nodded in a corner at the far post with 11 minutes to play to fire Cardiff in front and repeated the trick in the closing stages to cap a fine individual display.
City substitute Alvaro Negredo set up a nervy finish with a late header of his own, but Cardiff hung on to claim their first Premier League win, and issue a very early blow to their opponents' title hopes.
Both sides made one change, with City boss Manuel Pellegrini replacing injured captain Vincent Kompany with Javi Garcia in the heart of defence, while Cardiff recalled left-back Andrew Taylor from suspension in place of 18-year-old Declan John.
As expected, the home fans created a superb atmosphere as they celebrated their club's first home top-flight match in 51 years.
And they saw their side burst out of the blocks as Campbell had ambitious appeals for a penalty turned down in the first minute while an early free kick from the impressive Peter Whittingham sailed just wide.
Hart then made a smart save to deny Steven Caulker from another Whittingham free-kick, although the offside flag was up in any case.
Cardiff, led by the tenacious Gary Medel, continued to get in the faces of their more-fancied opponents and rarely allowed them to settle on the ball.
There were fleeting signs of City's class – David Silva and Sergio Aguero combined excellently on the edge of the penalty area before the former saw his cross hacked clear for a corner, while Dzeko nodded wide following a neat Silva ball.
But Cardiff kept the pressure on, restricting their opponents to further half chances from Dzeko and Silva, before Campbell went close twice on the stroke of half-time.
Both came from balls over the top designed to exploit Pellegrini's side for pace, with Campbell poking wide from the initial opportunity, before Hart charged off his line to save following a poor header from Garcia that allowed the former Manchester United and Sunderland striker in.
Cardiff's failure to convert their chances was compounded seven minutes into the second half when Dzeko scored a terrific goal.
Dzeko won the ball after Aguero flicked a Yaya Toure ball into his path, and the Bosnia international beat Cardiff goalkeeper David Marshall at his near post with a superb 25-yard effort that appeared to receive a slight deflection.
It was an advantage that lasted just eight minutes, though, as Gunnarsson sent the home fans wild with his equaliser on the hour mark.
South Korean Kim Bo-Kyung was the creator, skipping past an array of challenges and into the penalty area before cutting back for Campbell. And although the striker's shot was saved by Hart, Gunnarsson followed in and was on hand to net the rebound inside the six-yard box.
City responded with a consistent spell of possession, but Toure, substitute Samir Nasri and Silva failed to put their efforts on target.
Pellegrini's men were stunned with 11 minutes to play as Campbell escaped the attention of Pablo Zabaleta following an excellent Whittingham corner and headed in from two yards.
Campbell then netted another late header, and although Negredo set up a tense finale, Cardiff did enough to win.