West Ham's wait for a second win of the season goes on after Kanu and Andy Cole got Portsmouth back to winning ways in an ill-tempered game at Fratton Park.
Kanu's goal was his sixth of the season for Portsmouth
The Nigerian held off Anton Ferdinand to head his sixth goal of the season midway through the first half.
West Ham improved after the break but not even the introduction of Carlton Cole and Marlon Harewood could help them find a way through the defence.
Late on Pompey substitute Cole held off Jonathan Spector to turn and fire home.
Pedro Mendes' long-range effort narrowly off-target for Portsmouth was the first serious threat on either goal, as both teams began positively but without creating any serious chances.
Kanu opened the scoring when he shrugged off Ferdinand's challenge to head home Glen Johnson's looping right-wing cross from close range.
He could have had a second when he sliced a shot wide after Gary O'Neil's cross was deflected to him off Danny Gabbidon.
Benjani Mwaruwari and Kanu had several other chances to extend the lead as West Ham failed to find a way through to the Portsmouth goal, despite the best efforts of Nigel Reo-Coker.
West Ham finally woke up after the break when Sol Campbell was forced to head Etherington's cross behind, and from the resulting corner, Paul Konchesky drew a good save from David James.
Campbell and Dejan Stefanovic were both denied in quick succession as Roy Carroll's goal came under renewed threat.
Cole and Harewood replaced Bobby Zamora and Teddy Sheringham as West Ham tried a fresh approach, but it was Portsmouth's substitutions which proved decisive.
Kanu's replacement Lomana Tresor Lua Lua was a constant threat, but it was the veteran Cole who did the damage, combining well with Matt Taylor and holding off Spector to net his first goal for his new club in fine fashion.
Portsmouth manager Harry Redknapp on strikers Kanu and Cole:
"They have both been superb. Kanu keeps coming up with the goals and Andy is working to get fit.
"You watch him in training, practising his shooting and he will stay out there after all the others have gone, still doing it. He's a lovely finisher.
"After two defeats we needed to win, but we're only Portsmouth after all."
West Ham boss Alan Pardew:
"In that last third we are lacking a bit of genius and flair that can change the whole face of the team.
"Most of my strikers are pretty good on paper - but at the moment none of them are producing the goods for us.
"Portsmouth defended well and that made it more of an issue. I'm disappointed and feel sorry for our fans."
Portsmouth: James, Johnson, Primus, Campbell, Stefanovic, O'Neil, Pedro Mendes, Fernandes, Taylor, Mwaruwari (Cole 77), Kanu (LuaLua 66).
Subs Not Used: Kiely, Pamarot, Davis.
Booked: O'Neil, Campbell, Pedro Mendes, Johnson.
Goals: Kanu 24, Cole 82.
West Ham: Carroll, Spector, Gabbidon, Ferdinand, Konchesky, Benayoun (Mascherano 86), Reo-Coker, Mullins, Etherington, Zamora (Harewood 70), Sheringham (Cole 70).
Subs Not Used: Green, Dailly.
Booked: Reo-Coker, Sheringham, Etherington, Konchesky.
Ref: G Poll (Hertfordshire).