Edin Dzeko appeared to have put Manuel Pellegrini's side on course for the three points when his superb strike gave City the lead early in the second half.
But Cardiff hit back when Aron Gunnarsson tucked home from close range just before the hour, before Campbell twice headed home from corners to spark scenes of delirium at Cardiff City Stadium.
Alvaro Negredo got his first goal for City in stoppage time, but it was too little, too late.
Few had given last season's Championship winners any hope of getting a result after City had opened their campaign so impressively against Newcastle.
But Malky Mackay's men worked tirelessly to deny their big-spending visitors the space to work their magic and they ended the game as deserving winners.
The £26million record signing scored the winning goal from the penalty spot for the second week running.
Tottenham dominated the game, but a killer instinct was lacking at times and Michel Vorm also pulled off a couple of top saves in the Swansea goal.
Soldado took his spot-kick well while a pair of bruising performances from Etienne Capoue and Paulinho stifled Swansea's creativity.
Tottenham should have had the chance to bury the game in the first half but referee Neil Swarbrick failed to give what looked to be a clear penalty following a foul by Jonjo Shelvey on Andros Townsend.