Campbell put Cardiff up 2-1 against the run of play when he nodded home from two yards out in the 79th minute and then added a second from another corner eight minutes later to secure a massive upset in the team's first Premier League home game.
Alvaro Negredo pulled a goal back in injury time but City couldn't find an equalizer despite a full six minutes added on.
We'll be the underdogs for a lot of the games this season but, as we showed, we've got great determination and hopefully that'll see us through," Campbell said. "The most special thing was getting the three points. When you're a promoted side, you don't want to wait too long to get any points on the board so today was a massive bonus for us."
Cardiff is playing top-flight football for the first time in 51 years after being promoted last season, and even a draw against the heavily favoured City would probably have caused widespread jubilation at Cardiff City Stadium.
A single point was what most fans were hoping for against a City team that beat Newcastle 4-0 last Monday to start its campaign — especially after Edin Dzeko put the visitors ahead with a fierce strike in the 52nd minute.
But Aron Gunnarsson levelled for Cardiff by slotting in a rebound in the 60th and Campbell then did the rest to secure the biggest upset yet of the young Premier League season.
City goalkeeper Joe Hart seemed to misjudge Peter Whittingham's inswinging corner and Campbell was on hand near the far corner to push it into the net from close range — following a 10-minute spell where City had dominated possession completely.
Campbell's second goal was similar, although the corner came from the left this time as he escaped Pablo Zabaleta to head home what proved to be a historic winning goal.
"We played against a very difficult team. They were with 10 players in their own box and it was very difficult for us to try to score," City manager Manuel Pellegrini said. "When we scored the first goal I thought we played a bit better after that. But their set pieces decided the match. It was just two corners that decided the game."Suggest a correction