Stoke substitute Salif Diao snatched a last-gasp 2-1 triumph for the 10-man Potters as Portsmouth were plunged deeper into the relegation mire.
Frederic Piquionne gave the home side the advantage after 35 minutes, but Robert Huth's header levelled matters five minutes after the break.
Andy Wilkinson was sent off for the visitors after 73 minutes, but Diao netted at the death to maintain his side's unbeaten record in all competitions this year.
Tony Pulis' team enjoyed the best of the opening exchanges as Pompey failed to fashion any early chances. Glenn Whelan fired over from 25 yards before Mamady Sidibe put a great chance wide after 17 minutes.
Pompey fans had little to cheer early on, but they thought Piquionne had broken the deadlock after 20 minutes. The striker was adjudged to be offside, a decision that replays showed was incorrect, as he raced on to Quincy Owusu-Abeyie's through ball and slotted home.
Avram Grant's side did take the lead after 35 minutes when Owusu-Abeyie exchanged passes with Jamie O'Hara and unleashed a powerful low shot that Thomas Sorensen failed to hold, allowing Piquionne to clip home the rebound.
Stoke levelled five minutes after the break when Huth powerfully headed home from Whelan's outswinging corner.
But the Potters were reduced to 10 men after 73 minutes as Wilkinson picked up a second yellow card for a foul on Aruna Dindane.
Fuller was lucky not to join him shortly afterwards, when a high challenge on O'Hara went unpunished by the officials.
And the striker made the most of his reprieve, when he skinned Marc Wilson in the box in the first minute of stoppage-time, before squaring for substitute Diao to win the game.
Copyright (c) PA Sport 2009, All Rights Reserved.