Two goals in the last six minutes by AC Milan's Ronaldinho and Filippo Inzaghi pegged back Portsmouth to a 2-2 draw on a dramatic night at Fratton Park.
Portsmouth kept their UEFA Cup hopes alive against the seven-times European champions with a superb display crowned by Younes Kaboul's glorious 62nd-minute header and Kanu's close-range finish 11 minutes later.
But then substitute Ronaldinho struck a wonderful 30-yard free-kick and Inzaghi, who had twice hit the post, confounded the battling hosts by knocking in Gianluca Zambrotta's pass with virtually the last kick of the match.
Milan will almost certainly still go through to the last 32 but Pompey need to add more points from remaining fixtures against Germany's Wolfsburg and Holland's Heerenveen.
On a marvellous night of thrills, the chances were soon coming thick and fast with Inzaghi shooting against a post after Andriy Shevchenko's 10th-minute free-kick from 40 yards pierced the Pompey wall.
Kaka jabbed his shot over the bar at full stretch after Sylvain Distin could only half clear, and Inzaghi's lob was also just too high as he ran through after a deflection.
But Pompey were making chances too, and Milan keeper Dida appeared to misjudge Glen Johnson's cross completely before finally grabbing it off Peter Crouch's head.
There was no doubt about £5million defender Kaboul's strike to give Pompey the lead, as he rose for Johnson's cross after Milan failed to clear just after the hour.
And when Johnson delivered again Kanu was on the end of it to slide home and seemingly clinch it.
But Milan proved their magic can last right until the end - even though at times they were outplayed.
Copyright (c) PA Sport 2008, All Rights Reserved.