It was the home side who started strongly and nearly took the lead as early as the third minute.
Jordon Mutch headed over the bar after Craig Noone had whipped a dangerous ball into the box, but the midfielder did manage to open the scoring two minutes later, rifling past Vito Mannone after picking the ball up midway inside the Sunderland half.
© Getty Images
The home side came close to a second when Kim Bo-Kyung saw his long-range effort tipped over the crossbar in the 13th minute.
Marshall had to be alert to to keep out Fabio Borini just before the break, but it was Cardiff who had dominated the first 45 minutes.
The Italian forward had to be taken to hospital after collapsing in the dressing room at half time, and Gus Poyet's woes were added to in the 57th minute when Campbell came back to haunt his former team.
© Getty Images
This time Mutch turned provider, crossing from the left for the striker to finish from close range while the Black Cats defence stood static.
Steven Fletcher ended a run of 11 games without finding the net by turning home Emmanuele Giaccherini's cross with seven minutes to go, but it looked as if Cardiff were going to hold on for all three points.
However, Poyet's men left with a share of the spoils after Colback hooked past Marshall in the fifth minute of injury time.
The Black Cats remain bottom of the Premier League, although they stay within two points of safety, while the Bluebirds occupy 18th place.