PARIS - Celtic produced a superb comeback to beat ShakhterKaragandy and qualify for the Champions League group stage on Wednesday, while AC Milan, Zenit St Petersburg and Real Sociedad also booked their place at European football's top table.

The Scottish champions had given themselves everything to do after losing 2-0 to Shakhter in Kazakhstan in the first leg last week, but a terrific strike from Kris Commons gave them hope just before half-time in front of a typically raucous Parkhead crowd. Giorgos Samaras then levelled the tie on aggregate three minutes into the second period, but it was not all plain sailing for Neil Lennon's side. Anthony Stokes hit the bar for the hosts before Sergei Khizhnichenko struck the woodwork at the other end.

But it was to be Celtic's night, with Stokes doing brilliantly to set up James Forrest to make it 3-0 on the night and 3-2 on aggregate with virtually the last kick of the game. Lennon was overcome with delight at the outcome rating it even above his side's historic group stage win over then holders Barcelona last season. "It's the greatest thing I've ever done in football," said the Northern Irishman. "The last three months have all been about preparation for this.

In contrast to Celtic, Lyon never really threatened to overturn a two-goal first-leg deficit against Real Sociedad as the French club missed out on reaching the group stage for the second season running. RemiGarde's side were looking to do what no team had ever done before by overturning a 2-0 first-leg defeat at home to win a European Cup tie. It proved too great a task as Mexican forward Carlos Vela scored a second-half brace to take the Liga club through 2-0 on the night, 4-0 on aggregate.

Sociedad coach JagobaArrasate said that the joyous celebrations at the end reflected the satisfaction at reaching the group stage. "It was enough to enter the dressingroom to see the happiness," he said. "It was one of the most important targets of the season and we have achieved that." France will only have two clubs - Paris Saint-Germain and Marseille - in Thursday's group-stage draw in Monaco, but there will be three Italian clubs after AC Milan eased to a 4-1 aggregate win against PSV Eindhoven.

The seven-time European champions had a brace by Kevin-Prince Boateng and a second-half Mario Balotelli strike to thank for taking them past PSV, the 1988 European Cup winners who have not graced the Champions League proper since 2008-09. Milan coach MassimilanoAllegri, who was lucky to hang on to his job at the end of last season as the Rossoneri finished third following a disastrous first half of the campaign, said his joy was tempered by renewed criticism. "I'm happy with the performance but I'm very angry," Allegri told Sports Mediaset, a channel owned by club owner Silvio Berlusconi.

"From the outside I can feel the detractors but inside there is a good rapport with the general manager, the players and the club In other games, Zenit St Petersburg eased past Portuguese minnows Pacos Ferreira with a 4-2 win in Russia to advance 8-3 on aggregate. Portuguese international Danny scored twice for Zenit against his countrymen, including a spectacular solo effort for his second of the night, with AleksandrBukharov and AndreyArshavin also netting, the latter from the penalty spot. Manuel Jose and Carlao scored consolation goals for tiny Pacos, who finished third in their domestic league last season.

Meanwhile, Czech champions Viktoria Plzen won 1-0 away to Maribor in Slovenia to progress 4-1 on aggregate with StanislavTecl's early goal easing their path through. They join Arsenal, Schalke 04, Basel, Steaua Bucharest and Austria Vienna, who all won on Tuesday in the group-stage draw along with the 22 automatic qualifiers, led by reigning European champions Bayern Munich.