An 82nd minute goal from William Gallas kept Arsenal in the title hunt, but Tony Adams' Portsmouth made his former club's current crop look rather ordinary.
With the former Gunners captain making his first return to the home of Arsenal as a manager and the disastrous 4-1 defeat to West Ham still fresh in their memory, one would have expected a visiting side set up to strike on the counter-attack.
Surprisingly, however, dangerman Jermain Defoe was left on the bench with Peter Crouch alone in attack.
Crouch has a good record against the Gunners, but judging from the early exchanges with the visitors pressed back in their own half for most of the time, it was difficult to see many chances going his way.
However, one did come on 24 minutes when he got on to the end of a superb ball forward by Marc Wilson.
The England striker beat Gallas and redirected the ball goalwards but, with Manuel Almunia beaten, he was denied by the left upright and there was no-one on hand to tap in the rebound.
That opportunity gave Pompey more confidence to commit more men forward and pressure the Gunners.
Arsenal should really have taken the lead on 32 minutes and would have done but for some superb defending by Sylvain Distin.
Emmanuel Adebayor was set loose in space by a superb Abou Diaby through ball. The Togo striker took the ball around David James but Distin slid in to take it off his foot as the trigger was about to be pulled.
The Gunners came out with more urgency after the re-start and could have gone ahead within seconds after James flapped at a cross.
The ball fell to Mikael Silvestre who nodded it towards Adebayor, but his goal bound flick was blocked on the line by Sol Campbell.
Adebayor missed a golden chance on 60 minutes when found by a long ball forward with time and space but fired into the side-netting.
Arsene Wenger then brought on Carlos Vela for Emmanuel Eboue and switched Nicklas Bendtner over to the right flank.
The Mexican looked dangerous and added impetus to Arsenal's ponderous attack.
Portsmouth had chances of their own, although they were less clear-cut.
Almunia made a comfortable save from a Crouch header and from a Nadir Belhadj shot in the 76th minute.
With Arsenal turning up the pressure, the goal eventually came from Gallas in the 82nd minute.
Denilson delivered a free-kick from the left flank and Gallas arrived late to meet the ball and redirect it powerfully past James.
That was enough for all the points and for the Gunners to stay within ten points of the leaders to keep their title hopes alive.