Frank Lampard grabbed the only goal of an open encounter to end Portsmouth's unbeaten start to the season and send Chelsea top of the Premier League.
Frank Lampard celebrates his 93rd Chelsea goal
Claudio Pizarro squandered two fine chances before Lampard burst onto Didier Drogba's exquisite back-flick and drilled the ball under David James.
But Pompey also created plenty and Matt Taylor shot narrowly wide.
And in the final moments Ashley Cole was forced to clear Hermann Hreidarsson's header off the line.
Chelsea began brightly on a scorching day and Pizarro almost justified his inclusion at the expense of Salomon Kalou within a minute but he dragged his shot wide from the edge of the box.
Florent Malouda then fizzed an effort into the side-netting after a surging run by Michael Essien.
And Pizarro had his second excellent chance of the game but headed wastefully over from Malouda's perfectly delivered inswinging free-kick.
But after a nervy opening spell the visitors settled and they started to threaten.
Kanu and the impressive John Utaka were posing plenty of problems to the Blues backline and the visitors began to reap the rewards for matching the home side's 4-4-2 formation.
Pompey's best chance of the half saw Taylor send a deflected effort agonisingly wide off Tal Ben Haim after great hold-up play from Kanu on the right flank.
But with Portsmouth gaining in confidence, Chelsea took the lead through a typical Lampard effort - his third goal in a week.
A long ball was expertly held-up by Drogba and the England midfielder burst through onto the Ivorian's clever back-heel to crash the ball low and hard under James and into the net.
Lampard then tested James with a 25-yard free-kick while seconds before the break Taylor's delightful chipped effort crept just over the bar with Petr Cech beaten.
Both sides continued to fashion chances in the second half but it was Pompey who looked the more likely.
Gary O'Neil twice went close to restoring parity in the opening 15 minutes of the second half.
First the midfielder blazed over from eight yards after more clever play from the elusive Kanu.
And then O'Neil sent a shot just wide after a lightning breakaway following a Chelsea corner.
Juliano Belletti came on for his Chelsea debut with just over 25 minutes left and Pompey nearly profited from the right-back's unfamiliarity with his new surroundings.
A diagonal ball saw Benjani Mwaruwari get in behind the former Barcelona man but the Pompey substitute miscontrolled the ball and was unable to finish from an acute angle.
At the other end a stunning last-ditch tackle by the masterful Sol Campbell denied Drogba with 10 minutes left and the Ivorian then ran through and smashed a shot at goal which James did well to keep out.
But Pompey had the best chance of the game in the dying seconds.
Chelsea failed to clear a set-piece and after Kanu had accidentally blocked David Nugent's close-range effort, Hreidarsson was denied by Ashley Cole's acrobatic headed goalline clearance.
Chelsea manager Jose Mourinho on matchwinner Frank Lampard:
"Frank scored at Reading and Liverpool and now it's four consecutive matches for England and Chelsea. They were important goals for us and every goal meant something.
"It doesn't surprise me because Lampard is Lampard and he deserves it.
"When he plays he is the best when he doesn't he is the second or third best; he is a fantastic player."
Portsmouth first team coach Joe Jordan:
"In previous years we have come here and not done ourselves justice but we gave them a game today.
"We played well but it's all very well saying we did deserve something when we end up with nothing.
"It was not meant to be and that was summed up in the last few minutes when we had a couple of great chances but fair play to them, they cleared their lines."
Chelsea: Cech, Essien, Terry, Ben-Haim, Ashley Cole, Wright-Phillips (Joe Cole 75), Obi (Belletti 65), Lampard, Malouda, Drogba, Pizarro (Kalou 63).
Subs Not Used: Cudicini, Alex.
Goals: Lampard 31.
Portsmouth: James, Lauren (Pamarot 82), Distin, Campbell, Hreidarsson, O'Neil (Mwaruwari 61), Davis, Utaka, Muntari, Taylor (Nugent 83), Kanu.
Subs Not Used: Ashdown, Hughes.
Booked: Davis, Muntari.
Ref: Alan Wiley (Staffordshire).