Pompey reached the semi-finals of the Leasing.com Trophy by beating a spirited Scunthorpe side at Fratton Park.
John Marquis opened the scoring in the first half and the hosts looked comfortabe going in for the interval.
But their League Two opponents were the better side following the restart and Abo Eisa’s fine finish drew them level.
Cameron McGeehan quickly hit back with his first Blues goal, though, to ensure hopes of becoming the first club to successfully defend the silverware were maintained.
Kenny Jackett made six changes from the side that collected three points in the league at Bolton at the weekend.
Jack Whatmough was the most notable inclusion after almost 12 months out with a serious knee injury.
Gareth Evans returned to skipper the team, while Craig MacGillivray, Brandon Haunstrup, Ben Close and Ryan Williams also started.
The men to keep their place in the line-up were James Bolton, Sean Raggett, Marcus Harness, McGeehan and Marquis.
There was almost a nightmare start for Whatmough, as Eisa’s shot took a wicked deflection off the defender, but thankfully flew straight into MacGillivray’s arms.
Most of the action was taking place at the other end, though, and Evans saw his fierce drive beaten away by Iron keeper Rory Watson.
Raggett was unable to get on the end of a Haunstrup corner, while Harness saw his attempt blocked after Marquis sent the ball across the box.
But it was MARQUIS who broke the deadlock on 13 minutes, despite not being able to take Williams’ pass first time.
The striker instead bought the ball under control, spun sharply and neatly slotted home his ninth goal of the season.
It looked like Marquis was trying to add two points for a conversion moments later, as he blazed another effort high over the bar.
McGeehan did come close to doubling the lead later in the half, being afforded space to drift into the box and hitting a low drive inches past the post.
Evans then lifted a glorious pass over the top for Marquis to race on to and angle in a precise shot that was impressively kept out by Watson.
But it was Scunthorpe who almost added to the scoring just before the break, with MacGillivray diving acrobatically to his left to deny James Perch.
The resulting corner also caused trouble and Williams was grateful to see his clearance ricochet off an opposition player and out for a goal-kick.
Scunthorpe United 0
Pompey were forced to make a change soon after the restart when Bolton went down injured and had to come off.
The right-back did not seem in too much pain as he made his way from the pitch, with Christian Burgess on to replace him.
Scunthorpe then caused problems with a couple of corners that were unconvincingly dealt with by the hosts.
The League Two side were on top without really testing MacGillivray, although a thunderous 30-yard strike from Eisa fizzed narrowly off target.
And it was Eisa who levelled in impressive fashion just past the hour mark, with the winger cutting inside from the left and bending home a fine effort.
The Blues looked in trouble, but it took just four minutes for them to restore the lead with a quick breakaway goal.
A stumbling Harness kept his composure to slip a pass across to McGEEHAN, who was left in space to open his account for the club with a neat finish into the bottom corner.
The advantage was almost increased when Harness’ cut-back found Marquis moments later, but Watson saved well and then leapt on the loose ball.
Scunthorpe brought on Kevin van Veen – voted star man for the last round of the competition – and he sent a dangerous ball across the box that somehow evaded everyone.
The Fratton faithful sung about returning to Wembley, while the visitors tried their best to force another equaliser.
But Pompey held on for the win to take their place in Saturday night’s draw and continue their defence of the trophy.
Pompey (4-2-3-1): MacGillivray; Bolton (Burgess 49), Whatmough, Raggett, Haunstrup; Close, McGeehan; Harness (Naylor 88), Evans (c), Williams; Marquis
Goals: Marquis 13, McGeehan 66
Subs not used: Bass, Seddon, Cannon, Hackett-Fairchild, Hawkins
Scunthorpe (4-2-3-1): Watson; Sutton (Miller 89), McGahey, Bedeau, Brown; Perch (c), Lund; Gilliead, McAtee (Beestin 79), Eisa; Novak (van Veen 78)
Goals: Eisa 62
Subs not used: Collins, Butler, Rowe, Hornshaw
Referee: Kevin Johnson
Attendance: 5,382 (85 away fans)