The margin of victory had seemed unlikely for an hour as the German side struggled to hold off a resurgent Panathinaikos who attacked relentlessly.
The breakthrough came on the hour when forward Michalis Konstantinou sent a vicious swerving shot past Timo Hildebrand for the lead. It was short-lived though, Takis Fyssas sliding a Kevin Kuranyi cross into his own net.
Two more goals in two minutes from Kuranyi and Andreas Hinkel killed off the hosts.
Real Madrid secured a berth in the last 16 of the Champions league with a 0-0 draw away to Serbia and Montenegro champions Partizan Belgrade.
The result means that Real Madrid, nine-times European Champions, stay top of group F with 10 points from four matches, although their perfect record was tarnished in Belgrade.
Partizan dominated most of the match and missed a hatful of good chances. Their best came in the 82nd minute when skipper Sasa Ilic shot wide from point blank range after Real’s keeper Iker Casillas could only push away a low drive by Ljubinko Drulovic.
Porto pulled clear of Olympique Marseille in their race to qualify as second placed team in the Group after beating the French side 1-0 .
Porto scored in the 21st minute as Brazilian forward Derlei side-footed the ball past two markers to Russian team mate Dimitri Alenitchev, who found space to chip the ball over Marseille goalkeeper Vedran Runje from wide on the left.
Marseille came near to equalising shortly before the break as midfielder Sebastien Perez crossed from the right towards Steve Marlet, who missed the chance, only for Porto defender Paulo Ferreira’s interception to force Vitor Baia’s first real save of the game.
In Group G, Besiktas secured a deserved 1-0 victory over Sparta Prague thanks to a late goal from Ronaldo Guiaro that took the Istanbul side into second place.
With less than 10 minutes remaining playmaker Sergen Yalcin crossed to Brazilian defender Guiaro, who headed the ball into the net.
After a tentative start the Turkish champions dominated the match, but in the first half they failed to capitalise on a series of chances.
Besiktas’ first scoring opportunity came after 15 minutes when Guiaro delivered a precise long ball to Polish international Kaan Dobra who shot wide from less than 10 metres.
Striker Ilhan Mansiz, who missed the first game against Sparta due to suspension, also had opportunities. He failed to connect with a cross from Romanian midfielder Daniel Pancu two minutes after Dobra’s miss, and later had a close-range shot deflected over the bar.
European Cup holders AC Milan were reduced to 10 men and lost both central defenders but still stole a famous victory when they won 1-0 at Club Bruges in a tight Group H clash.
The winning goal came with a perfectly struck volley by Brazilian midfielder Kaka after 86 minutes, and gave the Italian team revenge for the single goal home defeat they suffered in Milan two weeks ago.
Captain Paolo Maldini went off injured after 33 minutes in the first half and was followed only five minutes later by fellow defender Alessandro Nesta, who was sent off by German referee Herbert Fandel for two yellow card offences.
Elsewhere in the Group Celta Vigo revived their hopes of making the knockout phases with a breathless 3-2 victory over Ajax Amsterdam.
Celta, bottom of the table with just two points following their defeat away to Ajax two weeks ago, dominated the opening 45 minutes and set up victory with a Peter Luccin penalty and a brilliant Savo Milosevic header in the first half.
Ajax, group leaders with six points going into the fourth round of matches, pulled a goal back eight minutes after the restart when Wesley Sonck headed in from Maxwell’s cross, but midfielder Vagner struck after 63 minutes to restore Celta’s two-goal advantage.
Rafael van der Vaart did pull one goal back with eight minutes to go, with a first-time shot that beat Jose Manuel Pinto at his near post. Ajax had defender Zdenek Grygera sent off in the final minute as they chased the game, and Celta held on for the win.