Edin Dzeko’s powerful effort gave the visitors the lead in the 52nd minute before Aron Gunnarsson equalised after Joe Hart blocked Campbell’s shot.
Campbell then headed home twice in eight minutes to put the home side in charge, with Alvaro Negredo netting a late consolation for Manuel Pellegrini’s men.
“Man City have got a great squad of players, but we knew we’d get chances,” man-of-the-match Campbell told Sky Sports.
“There were some great deliveries into the box today and there was a great all-round performance. It was very special. When you’re a newly-promoted side you don’t want to wait too long to get some points on the board.”
He continued: “The manager’s been saying to us that we deserve to be in this league. We did very well last season in the Championship and we’ve got to go out there and show everyone what we’re about.
“We’re going to be underdogs for a lot of the games this season but as we saw today we’ve got great determination and hopefully that will see us through.”
Meanwhile, forward Craig Bellamy reserved praise for the home fans, who created an electric atmosphere at the Cardiff City Stadium.
“We tried to stay in the game,” said Bellamy. “It was a great goal by Dzeko and Man City are capable of that.
“But we kept our heads up and the crowd were great from start to finish. They kept us going and we got the equaliser early but it was a tough afternoon for us.
“The fans were incredible today. This Premier League is so tough and we’re going to need them to be as positive as that if we’re going to try and stay in this league.”
ENHANCED ODDS: Get 7/1 on Djokovic to win the US Open