Substitute Campbell, who joined the Welsh side from Sunderland, secured all three points for his new club when he turned in Craig Bellamy's shot with his first touch.
Ross Barkley and Tom Lees both had good chances for Leeds in the absence of departed striker Luciano Becchio, who joined Norwich on deadline day, but Cardiff keeper David Marshall made some fine saves.
Christopher Burke scored twice as Birmingham recorded a much-needed 2-1 win over Nottingham Forest.
Burke fired home on the stroke of half-time and again in the 80th minute, with Billy Sharp's stoppage-time penalty meagre consolation for Forest.
Hull moved level on points with second-placed Leicester as they beat Millwall 1-0 at the Den.
David Meyler struck for the Tigers in the first minute as Millwall slipped to their third successive league defeat.
Blackpool fell to a shock 2-1 home defeat by struggling Barnsley after they were reduced to 10 men at Bloomfield Road.
Goalkeeper Matt Gilks was shown a red card in the 64th minute for handling the ball outside the area after Tom Ince had cancelled out Jim O'Brien's opener for Barnsley.
The extra man finally paid off for the visitors two minutes from the final whistle when Jason Scotland scored from close range to seal a valuable win.