Portsmouth failed to qualify for the Uefa Cup after being held by Arsenal - and having Nico Kranjcar's second-half goal ruled out for offside.
Portsmouth and Arsenal found each other hard to break down
As Bolton and Reading both drew, a win for the hosts would have seen them make it into Europe but it was not to be.
Arsenal could have taken the lead on 41 minutes but David James superbly saved Julio Baptista's well-struck penalty.
Baptista also missed a host of other chances, while Pompey will reflect on a controversial and costly decision.
However, with lethargic legs on the pitch, and minds reflecting on what might have been this season, most of the play was laboured and uninspired.
That should not have been the case for Pompey, who still had a slim chance to finish above Bolton and Reading to take the final Uefa Cup spot.
Instead, they only have themselves to blame for failing after producing a display which had none of the urgency one might have expected.
It might have been a different match, had the opening exchanges been maintained for the duration of the afternoon.
Sean Davis had the first shot of the match, and went close with a curling effort before Djimi Traore hooked the ball off the line at the other end when Gael Clichy's cross took a deflection.
As Arsenal threatened to move up a gear, Baptista beat two defenders and fired in a shot, which James beat away after diving low at his near post.
The Brazilian's form in front of goal has often been less than top quality, and his misdirected header when totally unmarked will not have boosted his chances of remaining at Arsenal after this season.
By contrast, ex-Gunner Kanu unleashed an excellent left-footed effort shortly after which Poom did well to palm over.
James, though, soon outperformed Poom when he produced a wonderful save to deny Baptista from the penalty spot after Linvoy Primus had tripped Emmanuel Eboue.
After the interval, the pace picked up a little but neither side could create real panic the other's defence.
Even when through on goal, the quality of the finishing let the build-up play down.
For Arsenal, Alexander Hleb hit the side netting, and Baptista shot tamely at James before wasting another free header.
And when Pompey did get the ball in the net, referee Graham Poll - in his last Premiership match - controversially ruled the goal out after consulting with his assistant.
Kranjcar, who had got the final touch after Lomana LuaLua's initial shot was saved, looked mystified.
But it was one of those days when action was at a premium and a goal would have come as a surprise.
And that is little comfort to Pompey's fans who fretted until the final whistle, knowing that just one goal for their side may have seen them in Europe.
Instead, Bolton claimed the final Uefa Cup spot after a 2-2 draw with Aston Villa to keep Pompey and Reading, who drew 3-3 with Blackburn, at bay.
Portsmouth assistant boss Joe Jordan:
"The assistant referee made a controversial decision to disallow the goal. For me it was valid.
"But it's difficult to look at one moment and say that was has cost us a place in the Uefa Cup."
Arsenal boss Arsene Wenger:
"It was difficult to tell what happened with the offside goal. I haven't seen the replay but we should have finished the game off before that.
"It is the story of our season. We looked sharp for much of the game but lacked something in the final third."
"David James saved the penalty well but we had many other chances."
Portsmouth: James, Johnson, Primus, Pamarot, Traore, O'Neil (Mvuemba 76), Davis (Pedro Mendes 64), Hughes, Kranjcar, Kanu, Mwaruwari (LuaLua 46).
Subs Not Used: Ashdown, O'Brien.
Arsenal: Poom, Hoyte, Djourou, Senderos, Clichy, Eboue, Fabregas, Toure, Hleb, Diaby, Julio Baptista.
Subs Not Used: Mannone, Connolly, O'Cearuill, Randall, Gibbs.
Ref: G Poll (Hertfordshire).