A double strike from Euxton lad Alex Kenton and a spectacular stoppage time goal from Padraig Amond gave Morecambe their first home win in six games.
Kenyon, who had only scored once in 57 starts for the Shrimps before the game, put the Shrimps’ two up before Pompey substitute Conor Chaplin pulled one back when the home side were caught cold after a delay in play for a serious head injury to Josh Passley.
Amond calmed the nerves in injury time with a stunning winner to put the game beyond all doubt.
The Shrimps’ started brightly and tested the keeper early on when Laurence Wilson forced a superb save from Paul Jones before Portsmouth had a chance of their own when a dangerous corner from Dan Butler was eventually scrambled away by the Morecambe defence.
Jim Bentley’s men took the lead after 10 minutes when Kenyon headed the ball home at the near post from a Devitt corner to score his second goal of the season.
The next half an hour passed without any major incident until Matt Tubbs broke and hit a shot that was saved by Danny Ward low to his right after the Pompey striker had weaved his way round Andy Parrish.
The second half began in frantic fashion, a Jed Wallace shot was blocked on the line by Ryan Edwards soon after the whistle as Portsmouth looked to make a fast start in search of an equaliser.
Like in the first half the second period drifted for long stages, Amond had a shot saved by Paul Jones as he broke through down the side of the penalty area before Morecambe doubled their lead on 69 minutes from another corner.
Parrish forced a brilliant save from Jones from a Devitt set piece but the ball rebounded for Kenyon who produced a spectacular finish to score from 12 yards.
After Shrimps’ sub Kevin Ellison had a low free kick saved by the keeper, there was a long stoppage in play, Pompey defender Passley was stretchered off sent to hospital after being knocked unconscious after a clash of heads with Laurence Wilson.
After the break Chaplin pulled one back for Pompey as the Shrimps’ gave away possession far too cheaply, allowing the teenager to fire past Ward and set up a nervy last few minutes.
Eleven minutes of added time were signalled and Portsmouth looked to up the pressure but the Shrimps’ put the game to bed when Amond fired a brilliant, unstoppable volley into the top corner.
Morecambe: Ward, Beeley, Edwards, Parrish, Wilson, Kenyon, Fleming, Wildig (rep Wright 68), Devitt (rep McGowan 86), Amond, Mullin (rep Ellison 68). Subs not used: Arestidou, Drummond, Watson, Bondswell.
Portsmouth: Jones, Passley (rep Webster 82), Nosworthy, Devera, Butler, Dunne, Atangana, Wallace, Fogden (rep Chaplin 57), Tubbs, Taylor (rep Westcarr 74). Subs not used: Cornell, Shorey, Hollands, Close.
Referee: S Martin