Skipper James Christian and Ben Duggan hit half-centuries as their side climbed out of the two-team drop zone with a 33-run Division 1 victory over fellow strugglers Sarisbury.
On a nervous day for both teams, Athletic also stayed up with Andover - who lost to already relegated St Cross 2nds by just six runs in a last-over thriller - going down in second-bottom place.
Portsmouth chose exactly the right moment to post their highest score of a wildly inconsistent season - 241-6 - after Christian had won the toss at St Helens.
After Jordan Palmer-Goddard (6) had fallen early, Christian (81) and Duggan (56) - Portsmouth’s two leading SPL runscorers in 2021 - shared a second wicket stand of 139.
Christian struck 13 fours in his 83-ball innings while Duggan hit just five in a knock lasting the same amount of deliveries as his captain’s.
Jack Marston (27) and Joe Kooner-Evans (20) both scored at more than a run a ball while Tom Kitcher (3-53) was Sarisbury’s chief wicket-taker.
Former Athletic captain Ricky Rawlins had been batting in the middle order in previous weeks, but was restored to an opening role. But he was bowled by Lee Hungerford for 14 (off seven balls) with fellow opener Elliott Smith (13) dismissed in exactly the same fashion.
Jack Lovett (34), skipper Josh Hill (28) and Rob Franklin advanced the score to 107-3.
But Portsmouth then wrestled control of the game by taking three wickets for the addition of just seven runs.
Jordan Wright (38) and Michael Bond (29) took the fight back to the hosts with a seventh wicket stand of 63.
It was 177-7 when Bond was trapped leg before by Reuben McArdle and Wright was dismissed two runs later by Hungerford.
The latter then dismissed No 10 Sam Hill leg before to end with 4-56 on only his third 1st XI appearance of the season.
Kooner-Evans wrapped up the victory by rearranging Kitcher’s stumps as Portsmouth ended a run of five successive defeats by dismissing Sarisbury for 208.
It was a happy end to a campaign that had started with four losses in the first five completed matches, before a turnaround in form saw Portsmouth - who struggled to name a consistent XI all season - rattle off five successive victories.
But the club, who finished third in 2019, were then sucked into a relegation battle, slumping into the drop zone on the penultimate Saturday of the season.
Andover would have secured safety had they defeated cellar dwellers St Cross 2nds, but instead narrowly lost.
Babu Veettil (3-11) and Mike Adams (3-27) combined to dismiss St Cross for 136 - the last seven wickets collapsing for the addition of just 16 runs. St Cross contributed to their woes with three run outs.
It was still a winning total, though, as the hosts lost their last wicket with the score on 130.
Opener Glyn Treagus hit 58 but had to wait until No 8 Veettil (26) came in for anyone else to score more than 10.
Andover were 119-8 when Treagus was dismissed, with the ninth wicket falling immediately after.
Last wicket pair Rowan Duckworth and skipper Matt Hooper were charged with scoring the 18 runs needed to stay up. They managed 11 of them before Duckworth was run out by Jason Laney off the third ball of the final over.