Arsenal held out for more than 40 minutes with 10 men to beat Portsmouth.
Adebayor's penalty set Arsenal on their way
Emmanuel Adebayor's penalty and Cesc Fabregas's close-range effort put Arsenal in first-half control.
Philippe Senderos saw red for a foul on Kanu when he was the last defender, but Arsenal increased their lead through Tomas Rosicky's powerful strike.
Kanu's bizarre goal gave Portsmouth hope, but Manuel Almunia denied Glen Johnson and John Utaka as the visitors mounted a late rally.
Portsmouth came with a game plan, to defend in numbers and try and hit Arsenal on the break with John Utaka's pace and Kanu's trickery.
Pompey had a penalty shout turned down when Senderos - in for Bakari Sagna - appeared to block Hermann Hreidarsson as Matthew Taylor's corner came in.
But having turned that one down referee Mark Halsey had no hesitation in pointing to the spot at the other end, when Robin van Persie proved too quick for keeper David James.
Adebayor obliged from the spot by sending James the wrong way for his first goal of the season.
Senderos looks surprised at his red card
Arsenal used the flanks to try and by-pass the massed ranks in the middle.
Alexander Hleb whipped in an inviting cross which any sort of contact from Adebayor would have resulted in a goal and Gael Clichy got down the left flank to fire in a cross which Noe Pamarot almost sliced into his own net.
Portsmouth cleared their heads but their attempts to get back into the game were undone by a tendency to give the ball away cheaply.
It was a tendency which cost Pompey as Arsenal doubled their lead before half-time.
Gilberto Silva's header from Rosicky's corner was actually blocked by Fabregas but the Arsenal midfielder reacted quickly to spin and bury the loose ball from close-range.
Pompey boss Harry Redknapp replaced defenders Lauren and Hreidarsson with midfielders Pedro Mendes and Nico Kranjcar to try and salvage the situation but almost fell further behind when another corner caused panic, with James saving well from Senderos's header.
Referee Halsey handed Portsmouth a route-map back into the game when he sent Senderos off four minutes into the second half.
Rosicky looks pleased with his goal
The referee ruled Senderos pulled Kanu down when the Pompey striker was through on goal, although there looked to be minimal contact.
Almunia could only parry the resulting free-kick taken by Utaka, but Matt Taylor blazed the rebound over the bar from six yards.
Referee Halsey returned the complement by awarding Arsenal a dubious free-kick on the by-line for what appeared to be a shoulder-barge by Distin on Clichy.
Portsmouth switched off as Fabregas tapped the ball to Rosicky who drove his shot through three Pompey players, including Glen Johnson's legs.
Within seconds, Pompey pulled one back through a freak goal as Kanu tried to control Utaka's cross and saw the ball ricochet in off his standing leg.
Substitute Abou Diaby should have restored Arsenal's three-goal cushion when he rounded off a stunning move by heading Clichy's cross wide from six yards.
Glen Johnson almost made them pay with a swerving shot that Almunia could only parry and as Arsenal dozed at a free-kick Utaka warmed Almunia's palms.
Arsenal manager Arsene Wenger:
"If Kanu wasn't offside, then the referee had no choice but to send him off.
"We are where we want to be at this point in the season, and that's a good basis.
"In the first half we showed tremendous quality, and in the second half we were tested mentally and physically."
Pompey boss Harry Redknapp:
"You've got to be at your best to live with Arsenal but you can't gift them goals like we did.
"Their third goal was as bad as anything I've seen, players were switching off, walking away and not looking at the ball.
"You don't walk off and think about something else, that's what we did and we got punished."
Arsenal: Almunia, Toure, Senderos, Silva, Clichy, Rosicky,
Fabregas, Flamini, Hleb (Denilson 61), Van Persie (Diaby 70),
Adebayor (Eduardo 79).
Subs Not Used: Fabianski, Walcott.
Sent Off: Senderos (49).
Goals: Adebayor 8 pen, Fabregas 35, Rosicky 59.
Portsmouth: James, Johnson, Pamarot, Distin,
Hreidarsson (Kranjcar 46), Lauren (Pedro Mendes 46), Muntari,
Davis (Nugent 61), Taylor, Utaka, Kanu.
Subs Not Used: Ashdown, Hughes.
Booked: Hreidarsson, Kanu.
Goals: Kanu 60.
Referee: Mark Halsey (Lancashire).