Wayne Rooney ended Portsmouth's brave resistance to send Manchester United into the fifth round of the FA Cup.
Wayne Rooney celebrates his second goal against Portsmouth
United were denied a goal when Nemanja Vidic's header crossed the line before being cleared by Pedro Mendes.
Portsmouth were under the cosh for most of the game but hung on until Rooney came off the bench on the hour mark.
Rooney tapped in a Ryan Giggs cross to break the deadlock and added a second with a superb chip before Kanu deflected home a late consolation.
This tie will be rightly remembered for Rooney's magic but for most of the game it seemed likely to be Mendes who would be the main man.
It was hugely ironic that it was the Portuguese international who cleared Vidic's header given his personal history at Old Trafford.
While playing here for Tottenham in January 2005 he famously had a shot from the half-way line cleared by United keeper Roy Carroll when the ball had also crossed the line.
Earlier this week Mendes had said he was owed some luck in Manchester - and fortune was certainly on his side here.
But given the amount of possession United enjoyed - and the chances they created - they should have been in control well before Rooney's introduction.
They were given a scare by O'Neill's early surge into the box but Tomasz Kuszczak came out well and that was the only time he was meaningfully employed before the break.
At the other end Sol Campbell and Linvoy Primus had their hands full but David James was also on hand when needed.
The former England keeper had to clear with his feet when Lauren deflected a Giggs cross towards his own goal and also tipped Michael Carrick's header over the bar.
Pompey did threaten again at the start of the second half when Primus nodded over but after that it was all one-way traffic with United completely on top.
Another controversial decision saw Henrik Larsson's superb strike ruled out and when James turned a scorching shot from Paul Scholes round the post it appeared that Pompey were destined to hang on - until Rooney decided otherwise.
His first goal was a simple tap-in after Larsson had released Giggs but his second - a precise finish into the top corner from outside the area - was absolute genius.
Pompey had the final word when Mendes' shot ricocheted off Kanu to beat Kuszczak but it is Rooney's contribution that will live long in the memory.
Manchester United manager Sir Alex Ferguson on Wayne Rooney's second goal:
"Having the vision and audacity to do it at that time in the game is really great.
"It was a fantastic goal and I remember Eric Cantona doing that in the FA Cup against Sheffield United.
"It was nice to get Wayne scoring and the chip really was world class."
Portsmouth coach Joe Jordan on his side's defeat:
"It is hard to take when you have put as much into the game as we did for 70-odd minutes.
"We looked reasonably comfortable and I thought we would have the opportunity to take them back to Fratton Park.
"We can take a lot of plusses from some individual performances in the game - but not from the result."
Man Utd: Kuszczak, Neville, Ferdinand, Vidic, Evra, Park, Scholes, Carrick, Giggs (Fletcher 85), Larsson, Solskjaer (Rooney 60).
Subs Not Used: Van der Sar, O'Shea, Silvestre.
Goals: Rooney 77, 83.
Portsmouth: James, Johnson, Campbell, Primus, Hughes (Douala 82), Lauren, O'Neil, Pedro Mendes, Taylor, Kranjcar (Mwaruwari 80), Cole (Kanu 62).
Subs Not Used: Ashdown, Thompson.
Goals: Kanu 87.
Ref: M Riley (W Yorkshire).