Celtic grab late winner, AC Milan through
© Getty Images

Celtic produced a superb comeback to beat Shakhter Karagandy and qualify for the UEFA 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.

Georgios 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.

Vela brace lifts Sociedad, AC Milan ease past PSV
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.

Remi Garde'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.

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.

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.

Portugal international Danny scored twice for Zenit against his countrymen, including a spectacular solo effort for his second of the night, with Aleksandr Bukharov and Andrey Arshavin 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 Stanislav Tecl's early goal easing their path through.

They join Arsenal, Schalke, 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.