Portsmouth 0 Arsenal 1
Campbell grabbed his first goal in 16 months with a thunderous 25-yard strike 15 minutes from time to break the hearts of plucky Portsmouth.
Arsenal were never at their sensational best and Pompey may even have pulled off a shock victory but for a fine display by Gunners keeper Manuel Almunia.
Jamaican international Ricardo Fuller signalled the homes side's intent with an ambitious 35-yard lob that drifted just over the crossbar in the sixth minute.
But only a fine save from former Arsenal trailist Jamie Ashdown denied Thierry Henry his 16th Premiership goal of the season 11 minutes later.
Ashdown was on hand again to push a close-range Robert Pires shot around the post after the Frenchman had beaten Pompey's offside trap.
Kolo Toure then put a header over the crossbar from a Henry corner in the 28th minute before Ashdown again saved at the feet of Arsenal's leading scorer three minutes later.
When Portsmouth hit back, Lomana LuaLua fired narrowly wide with a 20-yard curler in the 33rd minute.
Midfielder Gary O'Neil should have put Portsmouth ahead ten minutes before the interval. He out-muscled Toure after Steve Stone had launched a hopeful ball upfield but the England Under-21 captain put his shot into the side-netting.
Toure then produced a last-ditch block to keep out Fuller's goalbound effort on the stroke of half-time after LuaLua had out-witted the Arsenal defence with a cheeky chip.
Portsmouth showed much more attacking intent in the second period and only Fuller will know how he failed to grab his second goal of the season within three minutes of the restart.
The marauding Patrik Berger split the Arsenal defence with a trademark left-foot pass but Fuller slipped over the ball with only Almunia to beat and the chance was wasted.
Portsmouth's caretaker manager Velimir Zajec brought on fit-again top scorer Yakubu in the 55th minute after he had missed the last six games with a knee injury.
The move almost paid off in the 69th minute when Yakubu's back-heel was met by Berger and his right-foot shot was saved by Almunia.
Stone gave Arsenal another fright 18 minutes from time, volleying inches wide after Arsenal had only half-cleared a Berger free-kick.
Campbell then silenced the boisterous home fans with his first goal since scoring against Aston Villa in August last year.
There seemed little danger when Arsenal captain Patrick Vieira squared the ball to Campbell but the England defender calmly picked his spot and smashed the ball past Ashdown and into the bottom right-hand corner of the net.
Gunners defender Ashley Cole picked up the first booking of the match four minutes later following a cynical lunge on the impressive LuaLua.
Arsenal had Almunia to thank for keeping their slender lead intact with a splendid double save ten minutes from time.
The much-maligned Spanish keeper first palmed away Stone's close-range strike before reacting brilliantly to keep out LuaLua's follow-up shot with a one-handed stop.