Diarra's clinical, but controversial goal settled the match
A late goal from Lassana Diarra gave Portsmouth a scarcely deserved victory.
Diarra appeared well offside when Kanu got the final touch through to him inside the area, but he finished smartly into the top corner.
Portsmouth did not have a single shot in the first half but Bolton spurned a hatful of clear-cut chances.
Ex-Portsmouth star Matt Taylor hit over from five yards, England keeper David James made some stunning saves and somehow denied Tamir Cohen late on.
The omens for an avalanche of goals were not good.
Portsmouth had five 0-0 draws prior to the match, more than any other Premiership club, while Bolton were attempting to keep a fourth successive clean sheet.
In addition, both teams were still adjusting to the loss of their leading scorers, Nicolas Anelka to Chelsea and Benjani to Manchester City.
The home side had all the chances in the first half and might have been ahead in the first few minutes when Kevin Davies shot on the turn through a crowd of players but, fortunately for Portsmouth, straight at James.
Davies looped a header that gave James a comfortable save, before creating the best opportunity of the opening period for Taylor, who had earlier sliced well wide from 20 yards.
He surged down the right flank and sent in an inviting cross that the on-rushing Taylor ballooned over from five yards under the frantic challenge of two desperate defenders.
After a half completely devoid of creation going forward, Harry Redknapp elected to bring on Kanu in place of Milan Baros at the break.
Portsmouth were repeatedly saved by the acrobatics of James
Still it was Bolton who looked the more likely, Kevin Nolan blocked when almost though by substitute Lucien Aubey.
Gretar Steinson broke down the right and squared for Taylor, on his weaker right foot, and again the radar malfunctioned as he fired wide from eight yards.
Bolton sent on the aerial threat of angular Pole Grzegorz Rasiak and he forced James into a sharp parry with a left-footed volley from the left-hand side of the area.
Just when Wanderers thought they had finally got past James, Hermann Hreidarsson was on hand to scramble off the line as Gary Cahill prodded goalwards.
At the other end, Jermain Defoe, who had barely touched the ball for the majority of the match, ghosted between the defence but Jaaskelainen read the danger and rushed out of his area to clear.
James clawed away a Steinson volley from inside a congested area as Bolton continued to press.
Portsmouth's talented forward players gradually began to find more possession.
Diarra's volley from 25 yards through a sea of players that was parried by Jaaskelainen, with Nolan reacting smartly to block the rebound.
Finally the extra quality told, though Diarra's goal was unfair on Bolton not just in terms of its legality but in the balance of the contest.
In the dying moments James produced the best of his saves, a stunning reflex effort to his right from substitute Cohen's point blank shot, and his performance is sure to be noted by England coach Fabio Capello.
Bolton manager Gary Megson:
"Their winning goal was offside by a yard or two.
"It was our best performance in terms of possession and the chances we created. We defended well and their goal was fortunate.
"David James has put in the best performance I have seen from a keeper, if it was not for him we would have scored.
"We have battered Portsmouth and if it was a boxing match it would have been stopped after 45 minutes."
Portsmouth manager Harry Redknapp joking that his side deserved to win:
"I think we battered them - how did they get away with 1-0?
"I changed the way we played 14 times in the game because we couldn't get any balance and they were a handful.
"It was like the Bolton of old, very difficult to play against."
Bolton: Jaaskelainen, Steinsson, Andrew O'Brien, Cahill, Gardner, Nolan, Campo, Guthrie (Cohen 87), Diouf (Rasiak 60), Davies, Taylor (Giannakopoulos 82).
Subs Not Used: Al Habsi, Samuel.
Portsmouth: James, Lauren, Campbell, Hreidarsson, Pamarot (Aubey 27), Hughes, Diarra, Diop, Kranjcar (Utaka 74), Baros (Kanu 46), Defoe.
Subs Not Used: Ashdown, Davis.
Goal: Diarra 81.
Ref: Peter Walton (Northamptonshire).
BBC Sport Player Rater man of the match: Portsmouth's David James 8.54 (on 90 minutes).
Please note that you can still give the players marks out of 10 on BBC Sport's Player Rater after the match has finished.