The victory was Cardiff's first ever in the Premier League as Manuel Pellegrini's Manchester City suffered an early blow to their title ambitions in Wales.
Cardiff came from behind to secure the famous win at the Cardiff City Stadium, after Edin Dzeko fired Manchester City into the lead in the 52nd minute with an outstanding strike from distance.
They were ahead for just eight minutes, though, as Iceland international Aron Gunnarsson was on hand to net a close-range finish after Campbell saw his effort saved by Manchester City goalkeeper Joe Hart.
And the ever-threatening Campbell nodded in a corner at the far post with 11 minutes to play to fire Cardiff in front.
Manchester City did not learn from their lesson either, as Campbell headed home another corner in the 87th minute to cap a terrific performance.
Manchester City substitute Alvaro Negredo set up a nervy finish with a header, but Cardiff hung on for a sensational victory.
Both sides made one change, with Pellegrini replacing injured captain Vincent Kompany (groin) with Spaniard 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 Manchester 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 Campbell's shot was saved by Hart, Gunnarsson followed in and was on hand to net the rebound inside the six-yard box.
Manchester 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.
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.