Pompey’s promotion hopes are over after they suffered a narrow aggregate defeat to Sunderland in the play-offs.
Trailing by a single goal from the first game in the north-east, the Blues fought hard to try to level the tie.
They certainly created the best chances, with Jon McLaughlin making some key saves and Matt Clarke hitting the woodwork.
But they failed to find the breakthrough in what was an often ugly encounter, with the Black Cats holding on to book their spot at Wembley.
Kenny Jackett made three changes from the side that were narrowly beaten in the first leg at the weekend
Lee Brown and Brett Pitman were injured for that Wearside clash, but were fit enough for a return to the starting line-up.
Viv Solomon-Otabor was also given a chance to impress, as Anton Walkes, Ronan Curtis and Jamal Lowe dropped to the bench.
There was a minute of applause before kick-off, as those inside the ground paid tribute to former Pompey defender Jon Gittens, who sadly passed away at the age of just 55.
It was a feisty contest right from the off and Gareth Evans was soon shown a yellow card for a challenge on Lee Cattermole.
Tom Naylor soon followed him into the referee’s notebook, with the midfielder throwing the ball at Chris Maguire after the pair had clashed in the corner.
The Sunderland midfielder was also guilty of some poor challenges, however, with official Peter Bankes finally losing patience and taking his name.
But despite a frantic showing from both sides, clear-cut chances were proving to be at a premium in the opening stages.
Neither keeper was not given too much to do, besides a few regulation stops, with a final ball or moment of quality lacking.
Maguire was certainly enjoying his role as pantomime villain, earning cries of derision from the Fratton faithful following weak appeals for a penalty.
The hosts grew stronger as the first half progressed, with Ben Close exchanging passes with Pitman, whose cross was just out of reach for Oli Hawkins.
Sunderland then had a decent chance at the other end after Maguire beat Craig MacGillivray to a ball over the top, only to slip and allow Christian Burgess to clear the danger.
Pompey had two great opportunities to level the tie just before the break, with McLaughlin doing well to keep out Gareth Evans’ diving header from point-blank range.
And they then went close from the resulting corner, as Clarke’s nodded the ball down into the turf and up against the crossbar.
Half Time: Pompey 0 Sunderland 0
There was another coming together following the restart, this time involving Charlie Wyke and Nathan Thompson, but the referee managed to calm things down.
Jackett then made his first change on 52 minutes, as leading marksman Lowe came on for Solomon-Otabor.
They almost scored moments later, with Hawkins meeting Lee Brown’s fine cross and seeing his header tipped over by McLaughlin.
It was still proving to be niggly affair and there was more consternation when Luke O’Nien tumbled into the North Lower.
James Vaughan replaced Hawkins on 68 minutes, as Jackett looked to add some fresh attacking impetus into his side.
And the newcomer almost grabbed an immediate goal, only to be denied by another fine McLaughlin save after Pitman had hooked the ball towards the back post.
Clarke then wanted a penalty after tangling with Alim Ozturk as he tried to reach Evans’ free-kick, but Bankes was uninterested.
Pompey kept fighting and tried their best to put the Black Cats under pressure, with their visitors fighting hard to keep them at bay.
The display of six minutes of added time gave the Fratton faithful renewed hope, but Sunderland held on to reach the final.
Pompey (4-2-3-1): MacGillivray; Thompson, Burgess, Clarke, Brown; Naylor, Close; Evans, Pitman (c), Solomon-Otabor (Lowe 52); Hawkins (Vaughan 68)
Booked: Evans, Naylor, Pitman, Vaughan, Thompson
Subs not used: Bass, Walkes, Morris, Curtis, Dennis
Sunderland (4-2-3-1): McLaughlin; O’Nien, Ozturk, Flanagan, Oviedo; Cattermole, Leadbitter; Honeyman (c), Power (Morgan 80), Maguire (Gooch 69); Wyke (Grigg 83)
Booked: Maguire, O’Nien
Subs not used: Ruiter, Matthews, Dunne, Watmore
Referee: Peter Bankes
Attendance: 18,077 (1,397 away fans)