Charlton Athletic 0 Portsmouth 1
The Addicks made a flying start, with Dennis Rommedahl crossing from the right for Marcus Bent to direct a far-post header against the top of the crossbar.
Darren Bent then slammed the rebound against an upright from a tight angle on the right side of the area.
Nine minutes in Charlton threatened again, with centre-back Talal El Karkouri heading narrowly wide of the far post from a left-wing corner by Darren Ambrose.
Three minutes later Pompey striker Benjani Mwaruwari tumbled in the area, but referee Phil Dowd waved play on, choosing not to issue a yellow card.
Benjani then flashed a header wide at the near post as Pompey began to find their feet and show the sort of form that has seen them make an unbeaten start to the Premiership campaign.
The fit-again Pedro Mendes fired a left-foot shot a couple of yards wide 25 minutes in, before Scott Carson made a fine finger-tip save to deny the in-form Kanu.
Kanu then headed wide from another clear chance, as play continued to switch from end to end.
Somehow the game was still goalless at the break, with Pompey's Gary O'Neil wasting another opening just before the interval.
At half-time Charlton brought on Jonathan Fortune for Marcus Bent in a tactical change by boss Iain Dowie.
After the restart Mendes drilled a shot over from distance, before Ambrose fired wide after a fluent passing move by the home side.
Just before the hour mark Matt Holland entered the fray for debutant Omar Pouso in the Addicks midfield and soon after Pompey brought on Lomana Lua Lua for Benjani.
Twenty minutes into the second period, home skipper Luke Young rampaged forward from his unfamiliar left-back berth, beating a couple of players before Linvoy Primus made a saving challenge on the edge of the area.
Lua Lua then made his mark as he broke the deadlock 16 minutes from time, skimming a low, right-footer into the far corner, with keeper Carson getting a hand to the ball but being unable to keep it out.
The lively Lua Lua then almost set up a second with five minutes to play, but his ball in was just inches too far in front of the arriving Sean Davis at the far post.