Everton 1 Portsmouth 0
Diniyar Bilyaletdinov fired a stunning injury-time winner to send Portsmouth out of the Barclays Premier League as gallant losers.
The Russian substitute struck from distance in the fourth minute of time added on, just as relegated Pompey looked to be bowing out of the top flight with a creditable draw.
Victory was no more than the Toffees deserved after they squandered a multitude of chances at Goodison Park but Pompey – who at least have the FA Cup final to look forward to at the end of a dismal season – could feel aggrieved.
Anthony Vanden Borre appeared to score a perfectly good goal in the second half only to have it ruled out for offside.
Until Bilyaletdinov’s late intervention, Portsmouth’s fans had cheered the loudest throughout the game.
Despite the sadness of their plight, the visiting supporters, some of them in fancy dress, turned up in the mood to party at the end of a seven-year spell in the top flight.
Their constant singing – tinged with gallows humour over their uncertain future - was a credit to the south coast club and they will at least get one last hurrah next weekend.
With this afternoon’s result counting little for either side, Avram Grant used what reports claim could be his last league match in charge of Portsmouth to rest goalkeeper David James.
The England international was a notable omission as Grant made five changes, although a lengthy injury list limited him to just six substitutes.
The presence of the inspirational Jamie O’Hara on the bench, after four games out with a back injury, was at least a bonus.
Jamie Ashdown took James’ place while Ricardo Rocha, Hayden Mullins, Papa Bouba Diop and Marc Wilson also came into the Pompey side.
Everton, who knew they would finish eighth regardless of the result, were without Tim Cahill due to a minor groin strain and Mikel Arteta replaced the injured Phil Neville as captain.
Steven Pienaar and Jack Rodwell, whose future remains the subject of speculation, both returned.
It soon seemed Pompey were in for a long afternoon as Everton, looking to finish with a flourish after falling short of a European place, carved out five chances within the opening six minutes.
Tony Hibbert got a sight of goal but Rocha managed to put behind and Arteta then had a dangerous cross headed to safety by Diop.
Louis Saha headed narrowly over from a Leighton Baines cross and Arteta shot tamely at Ashdown after being set up by Victor Anichebe.
Ashdown was in action again as Rodwell met a Hibbert cross but the keeper dealt comfortably with his header.
Pompey’s first chance came against the run of play after 10 minutes as John Utaka curled a free-kick over.
The visitors went close again as Frederic Piquionne raced on to a Boateng through ball and got the better of Phil Jagielka but Tim Howard blocked as he cut inside to shoot.
Arteta then forced a good low save from Ashdown with a shot from the edge of the box and Rodwell side-footed wide from inside the area after a good run by Hibbert.
Piquionne had another chance after a quick break but shot straight at Howard from distance.
Anichebe burst into the box just before half-time after a neat turn on the 18-yard line but fired left-footed into the side-netting.
Ayegbeni Yakubu replaced Rodwell in the 54th minute and was immediately into the action, shooting straight at Ashdown from the edge of the area.
Portsmouth thought they had taken the lead just before the hour but saw the goal harshly ruled out for offside.
Piquionne took advantage of a slip from former Portsmouth defender Sylvain Distin to skip into the area and coolly take the ball around Howard.
Distin recovered to block his cross but the ball rebounded to substitute O’Hara and his scuffed shot was turned in by Vanden Borre at the far post.
Vanden Borre was clearly behind at least two Everton players but referee Peter Walton and his assistant remarkably thought differently.
Leon Osman found an opening for Everton with nine minutes remaining but his long-range effort was deflected over by Mullins.
Saha met the resulting corner with a firm header but Mullins was again on hand to clear off the line.
Everton continued to press to the end and Hibbert blasted just over and Saha was inches away from connecting with a cross.
Pompey looked to have weathered the storm, but with four minutes of injury time almost over, Bilyaletdinov curled in a superb left-footed winner from 30 yards.