Kanu's first-half goal was enough to hand Portsmouth a first FA Cup final success in 69 years as they denied Cardiff a fairytale ending at Wemblely.
The Nigerian took advantage of an error from Cardiff goalkeeper Peter Enckelman to score the only goal of the game in the 37th minute.
It should have been his second of the match after he hit the outside of the post with the goal gaping earlier on, while City had chances of their own, David James doing superbly to deny Paul Parry and Roger Johnson heading narrowly over.
There was no place for Robbie Fowler on the Cardiff bench as Dave Jones named the same side which defeated Barnsley a fortnight ago.
James, Sol Campbell and Sulley Muntari all returned to Portsmouth's starting line-up, with manager Harry Redknapp opting to play Kanu alone up front.
It was Portsmouth who had the game's first opportunity, Muntari's deflected 30-yard free-kick forcing Enckelman down to his right within the opening minute.
Redknapp's side threatened again in the ninth minute when Glen Johnson charged down the right and stood up a ball to the back post, but it was dealt with comfortably by the Cardiff defence.
However, it was the Championship side who created the game's first clear-cut opportunity. Joe Ledley slid in Parry, who managed to get goal-side of Campbell, but the former Hereford striker's effort was blocked superbly by James.
Portsmouth could count themselves fortunate again moments later when Kevin McNaughton's goalbound shot from the edge of the area took a massive deflection and trickled past the post with James rooted to the spot.
Kanu then had a sensational chance to put Portsmouth ahead, but his usually reliably predatory instincts deserted him at the vital moment. It was vintage stuff from Kanu as he spun marker Glenn Loovens with ease and rounded Enckelman.
Despite being left with a tight angle he should have found the empty net with relative ease but instead he fired against the outside of the left post, leaving Redknapp with his head in his hands on the sidelines.
Portsmouth full-back Johnson was having some joy down the right flank and another teasing cross was beaten away by Enckelman in the 34th minute. And it was from that very same wing that Redknapp's side created the opening goal three minutes later.
Enckelman could not keep hold of John Utaka's cross and Kanu, who scored the winner in their semi-final victory over West Brom, stole in ahead of Roger Johnson to tap home.
Cardiff almost equalised just moments later when Parry broke free down the left and found McNaughton unmarked at the back post, but the Scotland international could not find the target.
Portsmouth looked comfortable containing City, who were struggling for ideas, so it was no surprise to see Jones make a change with half an hour remaining.
Peter Whittingham was sacrificed for teenager Aaron Ramsey, while Steve Thompson was given a chance to be the hero with 20 minutes remaining, coming on for the ineffective Jimmy Floyd Hasselbaink.
David Nugent, a forgotten man at Fratton Park for much of the campaign, almost doubled Portsmouth's advantage within moments of his introduction when his effort from wide on the right was beaten away by Enckelman.
Kanu was replaced to a standing ovation in the 87th minute as Portsmouth closed in on glory. It proved to be enough as they hung on in the closing stages, with Ramsey and Johnson both having efforts superbly blocked.