Brendan Rodgers’ side, who had lost their previous four away games, are now six points adrift of second-placed Norwich with just nine left to play for.
The Swans look now set to fight it out in the play-offs and victory at home to Ipswich on Monday, combined with results elsewhere, could clinch their top-six finish.
Pompey, who have nothing left to play for but pride, arguably shaded a very ordinary encounter, Aaron Mokoena and Hermann Hreidarsson sending what clear chances there were off target.
Only three efforts found their way on target all afternoon, although the last of which, from Swans substitute Stephen Dobbie, forced a solid parry from Jamie Ashdown deep into injury time.
Swansea started poorly and the unmarked Mokoena, latching onto Hayden Mullins’ free-kick, headed a great chance wide from close range after just two minutes.
City’s defence were at sixes and sevens and Ashley Williams sent a pass back to goalkeeper Dorus de Vries, whose clearance was dangerously charged down by David Nugent, who had seconds earlier sent a 25-yard effort narrowly wide.
Hreidarsson was the next Pompey player to go close inside the opening 11 minutes but should have done better as he headed over from Greg Halford’s long throw, an outlet which was causing Swansea all sorts of problems.
Nugent and Dave Kitson were rightfully booked before the hosts, who were only able to name three outfield substitutes on the bench, suffered a blow in the 35th minute when Kitson was forced off due to a rib injury, with Kanu coming on.
Hreidarsson became the third player booked and at half-time the 15,907 in attendance were still awaiting a first shot on target.
Just 48 seconds into the second half Scott Sinclair sent Swansea’s first effort of any note wide.
At the other end, Jonathan Hogg side-footed a good opening over the crossbar before Kanu found himself in a promising position, but the Nigerian took too long before seeing the chance disappear.
Hreidarsson headed the first effort of the game on target in the 66th minute, although it was an easy save for De Vries.
Pompey lost Ritchie De Laet to injury before Sinclair sent Swansea’s first shot on target into the hands of Ashdown in the 83rd minute, while Dobbie forced a good save from the Pompey goalkeeper deep into injury time.