With the scoreline at 1-1, Shrewsbury’s Josh Vela saw red on 32 minutes following an awful challenge on Ronan Curtis.
How the Blues sensed blood, with Cowley taking off defender Hayden Carter at the interval to introduce Marcus Harness to pep up their attacking threat.
Yet, the crucial goal failed to materialise as George Hirst missed several chances and, overall, Marko Marosi wasn’t tested sufficiently.
Certainly reminiscent of facing a Sheffield Wednesday side which, in December, played out the final 22 minutes with 10 men.
There was also the trip to Cambridge United at the start of last month, when Sam Smith’s 60th minute red card left the hosts a player short.
Both occasions ended in draws for Pompey as they failed to capitalise, much to the frustration of supporters.
Indeed, it was heading that way once again at Shrewsbury – until the 84th minute.
Substitute Reeco Hackett twisted and turned his way inside the box before laying off a pass into the path of Thompson.
The midfielder then struck a first-time right-footed shot which flew high into the middle of the net to clinch a 2-1 success for the Blues.
A third successive win for Danny Cowley’s men, who earlier had Aiden O’Brien, on his full debut, cancel out Luke Leahy’s opener.
And finally they have proven themselves capable of breaking down 10 men – at the third time of asking this season.
O’Brien represented one of four changes to the side which won 4-0 against Doncaster in Pompey’s last outing.
The transfer deadline day arrival had netted with his first touch after introduced from the bench and was rewarded with a maiden Blues start.
He replaced Tyler Walker in attack to partner George Hirst, with Walker taking his place among the substitutes.
Almost making way were Marcus Harness and Reeco Hackett, who served as wing-backs in a highly-attacking line-up against Doncaster, and the injured Michael Jacobs.
That meant Mahlon Romeo and Denver Hume handed recalls, while there was first start since October for Ryan Tunnicliffe.
The last time he was named in a Pompey side was against Bolton, when he tore his hamstring before half-time at Fratton Park.
Yet, having been given outings from the bench in recent weeks, Cowley felt it was time for Tunnicliffe to come into the team.
Meanwhile, Jay Mingi was involved in a Pompey squad for the first time, having been named on the bench.
The former West Ham and Charlton man had recently recovered from a dislocated shoulder, while earlier in the season enjoyed a successful loan at Maidenhead.
When the match got underway, a quiet start burst into life on nine minutes when Eliott Bennett’s awful backpass let in Ronan Curtis.
The Irishman managed to produce a first-time shot with the keeper advancing, yet his left-footed effort was disappointingly dragged wide of the far post.
At the other end, George Nurse got down the left on 13 minutes and pulled the ball back for Matthew Pennington, who strode forward and unleashed a first-time shot.
It appeared to be heading into the far corner, only for Sean Raggett’s diving header to deflect it away for a corner.
However, from Bennett’s flag kick down the left, Gavin Bazunu appeared to misjudge it, with Luke Leahy heading home to make it 1-0 to the hosts.
Shrewsbury’s David Davis was forced off with an injury in the 22nd minute and was replaced by Tyrese Fornah.
Pompey levelled on 29 minutes through an opportunist O’Brien goal.
A patient build-up, chiefly down the right, culminated in the ball being crossed into the box and Hume galloping onto it to steer in a first-time right-footed shot.
The attempt was a little off-target, but O’Brien pounced to nudge it home from close range, despite the best attempts of Marko Marosi.
The keeper clawed it off the line, yet the linesman indicated it had crossed, much to the dissatisfaction of the home fans behind the goal.
Within two minutes, the Shrews were reduced to 10-men following Josh Vela’s late lunge from the side on Curtis after the ball had been played.
Leahy was already down, with some appeals for a foul, before Vela’s tackle which prompted a straight red from referee Sebastian Stockbridge.
Tellingly, there were little protests from the home bench over the decision - and suddenly the Shrews were in all sorts of trouble.
Hume should have given the hosts the lead on 36 minutes when Romeo’s excellent cross from the right found him at the far post, but he sent a free header wide.
In first-half stoppage time, Curtis clipped in a cross from the right and Hirst’s powerful header from the edge of the six-yard box was brilliantly parried by Marosi and went out for another corner.
The scoreline was 1-1 at the break, yet the Blues re-emerged for the second half with Harness introduced for Hayden Carter.
As a result, they switched to four at the back, with Cowley attempting to up his attacking output and find a way through to claim victory over the 10 men.
Leahy delivered a warning on 53 minutes, however, when he surged forward and fizzed a left-footed shot just over the bar.
Pompey were struggling to break down the hosts, although O’Brien did let fly with a right-footed volley from outside the box which Marosi saved to his left.
Then a tremendous ball in from the left from Hume was not converted at the far post by the head of Hirst, when it deserved a goal.
Pompey made their second substitution on 65 minutes, with Walker coming on for O’Brien.
On 74 minutes, Tunnicliffe drilled in a cross from the right which was met by Hirst, yet again he was thwarted by Marosi.
Pompey took the lead for the first time on 84 minutes through Thompson’s shot from outside the box.
Substitute Hackett twisted and turned inside the box before laying it to his left, into the path of Thompson, whose first-team right-footed shot flew high into the net down the middle.
It was a stunning strike, with the midfielder performing a knee slide in front of the jubilant away fans to celebrate.
That was enough for a third Pompey win in a row, with Saturday’s visit of Fleetwood next on the horizon.
A message from the Editor, Mark Waldron
You can support our local team of expert Pompey writers by subscribing here for all the latest news from Fratton Park for 9p a day, thanks to our 30%-off transfer window deal.