James Forrest's stoppage-time strike took Celtic into the Champions League group stage after a dramatic aggregate win over Shakhter Karagandy.

It took until time added on in the first half for Celtic to reduce the 2-0 first-leg deficit through a superb long-range strike from Kris Commons.

But Georgios Samaras then levelled the tie three minutes after the break.

Both sides struck the crossbar before Anthony Stokes set up Forrest to fire home for a deserved, if nervy, win.

The strike sent a delirious Neil Lennon sprinting along the touchline to join in the celebrations with his players, as Celtic Park erupted in noise in front of a watching Nir Biton, the Israeli star set to join on a four-year deal this week.

"That was the greatest thing I've ever done in football," said Lennon.

"The last three months were in preparation for this. We lost three very important players [Victor Wanyama, Gary Hooper and Kelvin Wilson] and it has been difficult to replace them. Coming from 2-0 down tonight just makes the players all the more remarkable.

"They were wonderful, absolutely wonderful."

Victory took Celtic, who reached the last 16 last season, into the group stages for the second year running and ended the Kazakhstan champions' hopes of being the first side from their country to go beyond the qualifiers.

Lennon had ditched the central defensive pairing of Virgil van Dijk and Steven Mouyokolo that was much criticised in Astana, along with left-back Emilio Izaguirre.

Georgios Samaras celebrates his aggregate equaliser

Samaras brought the scores level on aggregate shortly after the break

Mikael Lustig moved inside from right-back to partner Efe Ambrose, with Lennon looking for Adam Matthews and Charlie Mulgrew to add attacking flair from the flanks.

The result was instant pressure on the Shakhter defence and goalkeeper Alexandr Mokin superbly palmed the ball over as Lustig rose to head powerfully at goal following a cross from Kris Commons.

Forrest had a powerful drive from the edge of the box turned over by Mokin, who then pushed clear off the line from a header by fit-again Stokes.

The goalkeeper was having an inspired night and, even when he looked to be caught out by Commons' shot-come-cross, he managed to fly across his line to turn the free-kick clear.

Shakhter were putting bodies on the line in a desperate but increasingly effective effort to deny Celtic clear-cut chances, while displaying a growing confidence that they could hurt their hosts.

The visitors had shown their prowess at long throws in the first leg and the much-changed home defence were finding the set-pieces increasingly troublesome.

That frustration boiled over with Celtic captain Scott Brown, back to his hot-headed worst, aiming a stamp at Gediminas Vicius that would probably have received a red card had it been spotted by the officials.

However, Celtic continued to probe and, just when Shakhter looked like surviving until half-time, Commons gathered from Samaras and sent a powerful shot past Mokin from 25 yards.

Celtic's momentum continued after the break and they were level in the tie when Lustig's mis-hit shot found Samaras and the Greek forward beat Mokin from 12 yards.

Shakhter responded but when Forster could only parry Andrei Finonchenko's 22-yard drive straight to Sergei Khizhnichenko in front of goal, the striker was foiled by an offside flag as well as his poor control.

Stokes ought to have put Celtic ahead on aggregate but somehow volleyed against the crossbar after a Forrest cross found him clear at the back post.

Celtic were then fortunate to escape at the other end when Nikola Vasiljevic's header was cleared off the line by Matthews and, from another long throw, Khizhnichenko flicked the ball against the crossbar.

Just when a toiling Forrest looked poised to be substituted and the tie seemed destined for extra-time, Stokes weaved his way into the penalty box before turning the ball into the path of the winger to fire in off the underside of the bar.

Lineup, Bookings (6) & Substitutions (3)

Celtic

  • 01 Forster
  • 02 Matthews
  • 04 Ambrose
  • 21 Mulgrew
  • 23 Lustig
  • 08 Brown Booked
  • 15 Commons (Boerrigter - 79' )
  • 16 Ledley Booked
  • 49 Forrest (van Dijk - 90' )
  • 09 Samaras
  • 10 Stokes

Substitutes

  • 24 Zaluska
  • 03 Izaguirre
  • 05 van Dijk
  • 46 McGeouch
  • 11 Boerrigter
  • 17 Balde
  • 32 Watt

Shakhter Karagandy

  • 35 Mokin
  • 04 Vasiljevic
  • 17 Poryvaev
  • 20 Dzidic
  • 87 Simcevic Booked
  • 03 Vicius Booked
  • 25 Malyi
  • 14 Finonchenko (Zenkovich - 83' Booked )
  • 28 Ghazaryan
  • 88 Canas Booked
  • 91 Khizhnichenko

Substitutes

  • 01 Pokatilov
  • 19 Tarasov
  • 22 Gabyshev
  • 07 Baizhanov
  • 24 Darabayev
  • 45 Murtazaev
  • 78 Zenkovich
Ref: Oddvar Moen
Att: 58,000

Match Stats

Shots

17 7

On target

10 5

Corners

11 3

Fouls

9 16

Live Text Commentary

90:00 +4:54 Full time

Full Time The referee signals the end of the game.

90:00 +4:32

Foul by Anthony Stokes on Aleksandar Simcevic, free kick awarded. Aleksandar Simcevic restarts play with the free kick.

90:00 +3:41 Booking

Booking

90:00 +3:41

Caution for Scott Brown.

90:00 +2:44

Scott Brown concedes a free kick for a foul on Gediminas Vicius. Aleksandar Simcevic crosses the ball in from the free kick. Fraser Forster catches the ball.

90:00 +2:44 Substitution

Substitution Virgil van Dijk is brought on as a substitute for James Forrest.

90:00 +2:44

Centre by Aleksandar Simcevic.

90:00 +1:17

Assist by Anthony Stokes.

90:00 +1:17 Goal scored

Goal! - James Forrest - Celtic 3 - 0 Karagandy James Forrest grabs a goal with a right foot finish. Celtic 3 (3)-(2) 0 Shakhtyor Karagandy.

87:26

Anthony Stokes takes a shot and went wide of the left-hand post. Sergey Khizhnichenko sends in a cross. Fraser Forster safely holds on.

86:59

Foul by Gevorg Ghazaryan on Scott Brown, free kick awarded. Fraser Forster takes the free kick.

84:47 Booking

Booking

84:32

Free kick awarded for a foul by Igor Zenkovich on James Forrest. Free kick taken by Fraser Forster. Igor Zenkovich receives a yellow card for unsporting behaviour.

83:43

Sergey Khizhnichenko delivers the ball.

83:03

Igor Zenkovich gives away a free kick for an unfair challenge on Charlie Mulgrew. Fraser Forster restarts play with the free kick.

81:48 Substitution

Substitution Igor Zenkovich on for Andrei Finonchenko.

81:48

Anthony Stokes is caught offside. Aldin Dzidic restarts play with the free kick.

80:15

The ball is delivered by Charlie Mulgrew. Clearance made by Nikola Vasiljevic.

79:27

The ball is sent over by Georgios Samaras. Alexandr Mokin safely holds on.

77:55 Substitution

Substitution Kris Commons leaves the field to be replaced by Derk Boerrigter.

76:42

Joe Ledley takes a shot. Blocked by Gediminas Vicius.

75:52

Charlie Mulgrew sends in a cross. Aldin Dzidic manages to make a clearance.

74:35

James Forrest takes a shot. Alexandr Mokin catches the ball.

71:31

The ball is swung over by Charlie Mulgrew. Andrey Poryvaev makes a clearance. Corner from the right by-line taken by Kris Commons.

70:26

Unfair challenge on Georgios Samaras by Nikola Vasiljevic results in a free kick. Fraser Forster restarts play with the free kick.

69:22

Georgios Samaras crosses the ball dead.

65:55

Joe Ledley is booked. The referee blows for offside against Serhiy Malyi. Fraser Forster restarts play with the free kick.

65:55 Booking

Booking

65:54

Joe Ledley challenges Gevorg Ghazaryan unfairly and gives away a free kick. Andrei Finonchenko crosses the ball in from the free kick. Georgios Samaras manages to make a clearance.

65:18

Anthony Stokes crosses the ball.

64:01

Free kick awarded for a foul by Gediminas Vicius on Joe Ledley. Kris Commons crosses the ball in from the free kick. Nikola Vasiljevic makes a clearance.

60:52

Corner taken by Andrei Finonchenko from the left by-line. Nikola Vasiljevic takes a shot. Clearance made by Adam Matthews. Corner from the right by-line taken by Andrei Finonchenko. Efe Ambrose makes a clearance. Sergey Khizhnichenko takes a shot and strikes the bar.

59:45

The ball is delivered by James Forrest. Anthony Stokes takes the chance to get an effort at goal and hits the bar. Corner taken by Kris Commons.

58:45

The ball is sent over by Andrey Poryvaev. Charlie Mulgrew manages to make a clearance.

57:33

James Forrest produces a cross.

56:03

Free kick awarded for a foul by Gevorg Ghazaryan on Kris Commons. Srike on goal from Kris Commons hits the wall from the free kick.

54:32

Serhiy Malyi fouled by Georgios Samaras, the ref awards a free kick. Free kick taken by Aleksandar Simcevic.

52:52

The ball is swung over by Georgios Samaras. Serhiy Malyi makes a clearance. Corner taken by James Forrest. Kris Commons sends in a cross. Clearance made by Nikola Vasiljevic. Short corner taken by Kris Commons. Shot by James Forrest went over the bar.

51:15

The ball is sent over by Charlie Mulgrew. Nikola Vasiljevic manages to make a clearance. James Forrest takes a shot.

48:51

Aleksandar Simcevic takes a shot. A parry by Fraser Forster prevents the goal. Sergey Khizhnichenko is ruled offside. Fraser Forster restarts play with the free kick.

47:11

Mikael Lustig provided the assist for the goal.

47:11 Goal scored

Goal! - Georgios Samaras - Celtic 2 - 0 Karagandy Georgios Samaras scores with their left foot. Celtic 2 (2)-(2) 0 Shakhtyor Karagandy.

46:31

The ball is swung over by Adam Matthews. Clearance by Andrey Poryvaev. Corner taken by Kris Commons. Alexandr Mokin punches the ball.

45:18

Georgios Samaras sends in a cross.

45:01

The referee gets the second half underway.

45:00 +2:27 Half time

Half Time The whistle is blown to end the first half.

45:00 +0:21

Assist on the goal came from Georgios Samaras.

45:00 +0:21 Goal scored

Goal! - Kris Commons - Celtic 1 - 0 Karagandy Kris Commons slots the ball left footed into the goal. Celtic 1 (1)-(2) 0 Shakhtyor Karagandy.

44:49

Charlie Mulgrew delivers the ball.

43:47

Anthony Stokes takes a shot and missed to the left of the target.

42:45

James Forrest has an effort at goal and missed to the right of the goal.

40:37

Adam Matthews crosses the ball.

39:38 Booking

Booking

38:32

Sergey Khizhnichenko takes a shot. Blocked by Mikael Lustig. Corner taken by Gevorg Ghazaryan. Free kick awarded for a foul by Gediminas Vicius on Georgios Samaras. Free kick taken by Joe Ledley. Booking for Gediminas Vicius.

36:43

The ball is sent over by Gevorg Ghazaryan. Andrei Finonchenko takes a shot. Fraser Forster safely holds on.

36:00

Scott Brown concedes a free kick for a foul on Sergey Khizhnichenko. Alexandr Mokin takes the free kick.

35:47

Adam Matthews crosses the ball.

35:16 Booking

Booking

34:59

Free kick awarded for a foul by Roger Canas on Efe Ambrose. Free kick taken by Kris Commons. The referee shows Roger Canas a yellow card for unsporting behaviour.

31:47

Georgios Samaras fouled by Serhiy Malyi, the ref awards a free kick. Anthony Stokes produces a shot on goal direct from the free kick. Alexandr Mokin parries the ball away. Foul by Joe Ledley on Alexandr Mokin, free kick awarded. Alexandr Mokin takes the free kick.

31:08

Adam Matthews crosses the ball. Aldin Dzidic makes a clearance.

26:15

Kris Commons challenges Andrei Finonchenko unfairly and gives away a free kick. Andrei Finonchenko crosses the ball in from the free kick. Nikola Vasiljevic is flagged offside by the assistant referee. Free kick taken by Efe Ambrose.

23:31

Shot by Roger Canas went over the net.

18:17

Foul by Roger Canas on Georgios Samaras, free kick awarded. Free kick crossed by Kris Commons goes out of play.

17:10 Booking

Booking

16:59

Free kick awarded for an unfair challenge on Georgios Samaras by Aleksandar Simcevic. Aleksandar Simcevic is shown a yellow card. Kris Commons crosses the ball in from the free kick.

13:18

Charlie Mulgrew fouled by Roger Canas, the ref awards a free kick. Free kick taken by Efe Ambrose. Free kick awarded for an unfair challenge on Georgios Samaras by Roger Canas. Kris Commons fires a strike on goal direct from the free kick. Alexandr Mokin parries the ball away. Corner taken by Kris Commons. Corner from the left by-line taken by Anthony Stokes. Serhiy Malyi makes a clearance. The assistant referee signals for offside against Anthony Stokes. Alexandr Mokin restarts play with the free kick.

12:00

A cross is delivered by James Forrest. Anthony Stokes takes a shot. Alexandr Mokin parries the effort to safety.

11:07

Charlie Mulgrew produces a cross.

8:05

Sergey Khizhnichenko takes a shot. Fraser Forster safely holds on. Short corner taken by Kris Commons from the left by-line. James Forrest takes a shot. Alexandr Mokin turns it away with a finger tip save. Corner taken by Kris Commons from the left by-line.

6:28

Free kick awarded for a foul by Gediminas Vicius on James Forrest. Mikael Lustig restarts play with the free kick.

5:41

Anthony Stokes concedes a free kick for a foul on Andrei Finonchenko. Free kick taken by Aldin Dzidic.

4:15

Corner taken by Kris Commons from the right by-line. Aldin Dzidic makes a clearance. Kris Commons delivers the ball. Mikael Lustig takes a shot. Alexandr Mokin turns it away with a finger tip save. Corner taken by Charlie Mulgrew from the left by-line.

3:59

The ball is delivered by Anthony Stokes. Nikola Vasiljevic manages to make a clearance.

3:25

Serhiy Malyi gives away a free kick for an unfair challenge on Georgios Samaras. Efe Ambrose restarts play with the free kick.

2:39

Gevorg Ghazaryan fouled by Scott Brown, the ref awards a free kick. Free kick taken by Andrei Finonchenko.

2:08

Scott Brown fouled by Gediminas Vicius, the ref awards a free kick. Efe Ambrose takes the free kick.

0:49

The ball is crossed by Kris Commons.

0:00

The referee gets the match started.

Live data and text provided by our data suppliers