Blackburn Rovers striker Roque Santa Cruz virtually ended Portsmouth's chase for fifth spot in the Barclays Premier League with his sixth goal in seven matches and 21st of the season as Rovers claimed a late victory at Fratton Park.
Santa Cruz played a one-two with former Pompey striker Jason Roberts before firing past goalkeeper Jamie Ashdown, deputising for England's David James who was out with a calf injury.
Up front Pompey lacked cutting edge with only Jermain Defoe looking likely to score, having a goal disallowed for offside.
Defences were tight early on with Pompey restricted to long-range efforts by Sulley Muntari and Kanu while Ashdown made a confident catch at the other end from Morten Gamst Pedersen's potentially dangerous ball in from the left.
The former Reading keeper, though, soon afterwards was challenged by Roque Santa Cruz and Jason Roberts and was lucky that Lassana Diarra was on hand to clear the ball as it bounced loose.
Pompey's first dangerous moment resulted in a corner as Christopher Samba dived in bravely ahead of Kanu in the 17th minute to knock away John Utaka's cross.
From the flag-kick, the ball was only half-cleared to the edge of the area and Muntari's first-time hook at it bounced off Kanu's outstretched leg, flew over the bar. The Nigerian was probably in an offside position, though.
Pompey won another corner in the 20th minute when Steven Reid got back just in time to prevent Kanu making the most of a cute return pass by Defoe on the edge of the area but Muntari's scuffed effort from the corner presented no danger.
Blackburn's ability to fire penetrating crosses from both flanks - especially Pedersen - kept Pompey's defenders on alert.
neat touch
Johnson did just enough to stop David Bentley reaching a deep delivery from the right by the mobile Santa Cruz.
Bentley hit a flicked shot off the outside of his right foot which Ashdown reached up and grabbed.
Defoe had the ball in the net a minute later after running through the centre onto a through pass by Johnson only to be flagged offside.
Two minutes later Defoe surged from to just outside the area and fired a low drive inches wide of Friedel's left hand post.
After 36 minutes Kanu and Utaka combined to work another opening for Defoe who this time failed to trouble the keeper.
Yet within seconds Blackburn could have gone ahead but for a diving save by Ashdown from Jason Roberts.
The rebound fell for Santa Cruz but he was unable to take the chance.
Niko Kranjcar came on as a substitute for Utaka at the start of the second half and soon made his presence felt with a neat touch that set up Muntari for a shot.
Ashdown had to save Portsmouth again in the 54th minute when Ryan Nelsen, moving forward in support of Pedersen, somehow got his head to the winger's cross which appeared to be going behind him.
slide tackle
Ashdown was well placed to divert it past a post for a corner.
Roberts did well to hold off Sylvain Distin and fire a low shot which occupied Ashdown again.
Defoe's left-wing cross saw Kanu just fail to get his head to the ball as it flashed across the goalmouth.
Pompey fans wished it had been him, though, who was on the end of Kranjcar's low cross in the 72nd minute.
Instead the pace of it cut out Defoe and found Muntari running in at the far post only for him to scuff his shot across the goalmouth and wide.
It was an expensive miss as Roque Santa Cruz, playing a one-two with Roberts, fired Blackburn ahead two minutes later.
It was a 21st goal of the season for the lethal Paraguayan - his sixth in the last seven matches - and a typical finish.
Ashdown had resisted Santa Cruz's aerial challenge by punching clear but when Pedersen gathered the ball and passed it to the striker and his give-and-go with Roberts took him clear to drill home.
It could have been two soon afterwards but Ashdown made another good save to defy Roberts, who unleashed a fierce shot on the run.
Pompey's efforts renewed when Samba had to hobble off after an attempted slide tackle on Kranjcar but Andre Ooijer came on and Rovers comfortably held out.