The midfielder had only been on the pitch for a matter of seconds when he lashed home a fine shot at the start of the second half.
And although their struggling opponents applied plenty of pressure, they were never able to really test Craig MacGillivray in their search for an equaliser.
Danny Cowley unsurprisingly stuck with the same side that beat Rochdale on home soil a few days earlier.
It meant that – with leading marksman John Marquis suspended, and Ellis Harrison and Jordy Hiwula both injured – Ronan Curtis continued to lead the line.
Former Pompey assistant manager Leam Richardson – now in charge of Wigan – named ex-Fratton loanee Viv Solomon-Otabor in his line-up.
The visitors were first to threaten following a quick break up the pitch, but a dangerous Ryan Williams delivery across the face of goal was agonisingly out of reach for Curtis.
Then it was former Latics winger Michael Jacobs’ turn to not quite be able to get on the end of a cross, this time from Callum Johnson.
Both sides were lacking any real attacking fluency, though, in a first half that largely failed to burst into life.
Wigan came close to breaking the deadlock midway through the first half when a Lee Evans free-kick landed kindly at the feet of Curtis Tilt.
The centre-back instinctively prodded the ball towards goal, but it ricocheted off Jack Whatmough and flew narrowly past the post.
Pompey were being pushed back by their relegation-threatened hosts, but there was nothing to trouble MacGillivray between the sticks.
And the Blues almost snatched a goal before the break following good work from Marcus Harness down the right.
He cut the ball back for Williams inside the area and the Australian’s drilled shot was well saved by Jamie Jones down to the keeper’s left.
Wigan Athletic 0
Jacobs did not emerge for the start of the second half, with Cannon taking his place and adopting a central role, as Williams moved out to the left.
And the change paid instant dividends, as the newcomer opened the scoring just 36 seconds after the restart.
There did not seem much on when CANNON collected the ball, but he was was given plenty of time to move inside and rifle home an unstoppable 25-yard shot.
Luke Robinson caused problems at the other end, nipping between Tom Naylor and MacGillivray to squeeze the ball into the mixer and forcing Lee Brown to hack clear.
Callum Lang then went down under pressure from Sean Raggett, but referee Tom Nield immediately waved away penalty appeals from the home side.
Wigan were beginning to threaten more and a second change followed for Pompey just past the hour mark, as Ben Close made way for Harvey White.
And Williams almost doubled the visitors’ lead soon after, with Jones making a fine save to prevent Williams from squeezing home a Harness cross from an acute angle.
There was still a distinct lack of quality on display, however, as the action became a particularly scrappy affair.
A nasty clash of heads between Sean Raggett and Lang forced both players off the pitch for the closing stages, with Rasmus Nicolaisen on for Pompey.
Another penalty appeal from the hosts was turned down on 85 minutes, with Nield not impressed by Jamie Proctor’s claims following a Johnson challenge.
There were seven additional minutes for the Latics to try to force a leveller, but Pompey held on to move up to fourth in the standings.
Wigan (4-2-3-1): Jones (c); Darikwa, Tilt, Johnston, Robinson; Evans, Aasgaard (Keane 68); Lang (Dodoo 83), Ojo, Solomon-Otabor (Gardner 79); Proctor
Booked: Ojo, Robinson, Tilt
Subs not used: Evans, Long, Whelan, Clough
Pompey (4-2-3-1): MacGillivray; Johnson, Whatmough, Raggett (Nicolaisen 81), Brown; Naylor (c), Close (White 62); Harness (Bolton 88), Williams, Jacobs (Cannon 46); Curtis
Goals: Cannon 46
Subs not used: Ward, Daniels, Byers
Referee: Tom Nield