The Gunners opened the scoring on 18 minutes when Eduardo beat two Pompey defenders before finding Diaby in the box and the midfielder lashed the ball beyond David James.
Arsenal doubled their lead three minutes later and it was Diaby again who produced a cool finish after more good approach play by Eduardo.
Portsmouth were limited to long-range efforts but did pull a goal back on 37 minutes when Younes Kaboul headed home from Nadir Belhadj’s deep cross.
The goal gave Portsmouth hope but six minutes after the restart Arsenal made it 3-1 through William Gallas.
The home side kept up the pressure and increased their lead on 68 minutes when substitute Aaron Ramsey drove the ball home from Robin van Persie’s cross.
Arsenal have reportedly held talks with Dennis Praet's agent and could make a £22million move for the Sampdoria midfielder this summer.
Gareth Bale could leave Real Madrid this summer despite proving to be the match-winner during Saturday's Champions League final.
Brighton are stepping up their recruitment drive this summer with Reading defender Liam Moore next on their list of targets.