St Johnstone came from behind to claim their first win of the season and stun reigning champions Celtic.
Gregory Tade's 18th-minute strike cancelled out Kris Commons' drilled opener for the visitors.
Commons was a persistent threat to the St Johnstone defence and claimed unsuccessfully for a penalty following Steven Anderson's challenge.
Rowan Vine curled home his maiden Saints goal 10 minutes from the end and Celtic could not recover.
St Johnstone's morale-boosting victory lifts them off the bottom of the Scottish Premier League, although results later on Saturday may return the Perth side to the foot of the table.
Celtic, who handed a debut to forward Miku and also included returning captain Scott Brown, went in front with their first real attack.
Gary Hooper squared to Commons around 25 yards out and the winger's powerful low drive whizzed past Alan Mannus, who could perhaps have got down sooner to attempt the block.
However, the Saints keeper foiled Commons' next effort with a solid stop.
The hosts came into the game and Dave MacKay, the scorer of St Johnstone's winner at Celtic Park last season, tested Fraser Forster with a curling free-kick.
And Steve Lomas's side soon found their leveller with Vine playing in the pacy Tade on the edge of the box.
The Frenchman peeled off Charlie Mulgrew, turned and buried the ball low past Forster.
Commons blasted a free-kick wide and, minutes later, got in behind Anderson after a slip by the defender.
Anderson, who had earlier had his blushes spared by the alert Mannus, appeared to foul Commons with a last-ditch tackle but referee Euan Norris rejected Celtic's penalty claim, though television replays suggested Saints were fortunate to avoid a spot-kick and a red card.
St Johnstone could have been in front before the break as MacKay persevered to get a cross in from the left and Tade nudged the ball back to Peter Pawlett, who took a touch before firing high and wide.
Liam Craig was also off-target at the end of a sweeping move by Saints just after the break and the midfielder then stung the palms of Forster with a low effort.
Commons flashed a shot over as Celtic tried to re-assert themselves and a melee in the St Johnstone box minutes later ended with the award of a free-kick to the hosts as Hooper tried to force the ball home.
Nigel Hasselbaink replaced Pawlett and the Dutchman had a hand in the deciding goal, laying on a pass for Vine to cut inside from the left and beat Forster with a superb shot.
Celtic, who had introduced Lassad Nouioui for his debut, could have levelled from a long ball in injury time but substitute Tony Watt's shot was blocked.
And Neil Lennon's side could not avoid their first defeat of the season ahead of Wednesday's Champions League opener against Benfica.
- 01 Mannus
- 02 MacKay
- 05 Wright
- 06 Anderson Booked
- 19 Miller
- 04 Cregg Booked
- 08 Davidson (Millar - 22' Booked )
- 10 Craig Booked
- 22 Pawlett (Hasselbaink - 78' )
- 09 Tade
- 23 Vine (MacLean - 87' )
- 15 Tuffey
- 26 Caddis
- 33 Scobbie
- 07 Millar
- 11 Hasselbaink
- 17 MacLean
- 41 Kane
- 01 Forster
- 03 Izaguirre Booked (Rogne - 61' )
- 06 Wilson
- 21 Mulgrew Booked
- 23 Lustig
- 08 Brown (Nouioui - 79' )
- 15 Commons Booked
- 49 Forrest
- 67 Wanyama Booked
- 07 Miku (Watt - 58' )
- 88 Hooper
- 24 Zaluska
- 25 Rogne
- 44 Fraser
- 40 Ibrahim
- 42 McGregor
- 11 Nouioui
- 32 Watt
Live Text Commentary
Full Time The final whistle is blown by the referee.90:00 +3:22
Inswinging corner taken left-footed by Kris Commons from the right by-line.90:00 +3:01
Tony Watt takes a shot. Alan Mannus makes a save.90:00 +2:22
Steven MacLean gives away a free kick for an unfair challenge on Kelvin Wilson. Free kick taken by Charlie Mulgrew.90:00 +1:35
Foul by Steven MacLean on Charlie Mulgrew, free kick awarded. Fraser Forster restarts play with the free kick.90:00 +1:10
Gary Miller takes the direct free kick.90:00 +1:10 Booking
Booking Charlie Mulgrew shown a yellow card.90:00 +0:58
Nigel Hasselbaink fouled by Charlie Mulgrew, the ref awards a free kick.90:00 +0:10
Shot from just outside the box by Kris Commons goes over the bar.88:04
Thomas Rogne challenges Steven Anderson unfairly and gives away a free kick. Direct free kick taken by Alan Mannus.87:40
Free kick awarded for a foul by Steven Anderson on Lassed Nouioui. Kris Commons takes the free kick.86:29 Substitution
Substitution Rowan Vine leaves the field to be replaced by Steven MacLean.85:44
Headed effort from deep inside the area by Tony Watt misses to the right of the goal.85:19
Gary Miller gives away a free kick for an unfair challenge on Kris Commons. Charlie Mulgrew restarts play with the free kick.83:38
Alan Mannus takes the direct free kick.83:38 Booking
Booking Caution for Victor Wanyama.83:34
Victor Wanyama concedes a free kick for a foul on Liam Craig.83:12
Nigel Hasselbaink challenges Charlie Mulgrew unfairly and gives away a free kick. Charlie Mulgrew takes the free kick.81:54
Foul by Thomas Rogne on Gregory Tade, free kick awarded. Nigel Hasselbaink has an effort direct from the free kick.81:29 Booking
Booking Kris Commons booked.
Kris Commons concedes a free kick for a foul on Rowan Vine. Direct free kick taken by Liam Craig.80:54
Free kick taken by Kelvin Wilson.80:54 Booking
Booking Liam Craig receives a yellow card.80:46
Free kick awarded for an unfair challenge on Victor Wanyama by Liam Craig.79:33
Nigel Hasselbaink provided the assist for the goal.79:33 Goal scored
Goal! - Rowan Vine - St J'stone 2 - 1 Celtic Rowan Vine finds the back of the net with a goal from the edge of the penalty box to the top right corner of the goal. St Johnstone 2-1 Celtic.78:59 Substitution
Substitution Lassed Nouioui on for Scott Brown.77:15 Substitution
Substitution Nigel Hasselbaink joins the action as a substitute, replacing Peter Pawlett.76:22
David MacKay challenges Tony Watt unfairly and gives away a free kick. Kris Commons restarts play with the free kick.74:40
Peter Pawlett is ruled offside. Fraser Forster restarts play with the free kick.72:51
The assistant referee flags for offside against Rowan Vine. Kelvin Wilson takes the free kick.68:54
Scott Brown takes a shot. Save made by Alan Mannus.67:52
Liam Craig takes a shot from 18 yards.66:11
Short corner taken by Kris Commons from the left by-line.65:24
Charlie Mulgrew takes the free kick.65:24 Booking
Booking The referee cautions Steven Anderson for unsporting behaviour.65:17
Steven Anderson challenges Tony Watt unfairly and gives away a free kick.63:56
Gary Hooper gives away a free kick for an unfair challenge on Alan Mannus. Alan Mannus takes the direct free kick.60:33 Substitution
Substitution Thomas Rogne is brought on as a substitute for Emilio Izaguirre.58:55
Shot by Kris Commons from just outside the area goes over the net.58:11
David MacKay takes a shot. Save by Fraser Forster.57:18
Direct free kick taken by David MacKay.57:18 Substitution
Substitution Tony Watt joins the action as a substitute, replacing Nicolas Fedor Miku.57:18 Booking
Booking Emilio Izaguirre is cautioned by the ref for unsporting behaviour.57:11
Peter Pawlett fouled by Emilio Izaguirre, the ref awards a free kick.54:44
Free kick taken by Kris Commons.54:44 Booking
Booking Chris Millar receives a yellow card for unsporting behaviour.54:34
Chris Millar gives away a free kick for an unfair challenge on Scott Brown.50:45
Scott Brown concedes a free kick for a foul on Liam Craig. Liam Craig has an effort direct from the free kick.49:16
Liam Craig produces a left-footed shot from inside the area that clears the bar.48:19
Peter Pawlett fouled by Gary Hooper, the ref awards a free kick. Direct free kick taken by Alan Mannus.46:33
Victor Wanyama challenges Frazer Wright unfairly and gives away a free kick. Free kick taken by Alan Mannus.46:05
Free kick awarded for an unfair challenge on James Forrest by David MacKay. Direct free kick taken by Kris Commons.45:01
The referee starts the second half.45:00 +1:07 Half time
Half Time The referee blows for half time.45:00 +0:27
Free kick awarded for a foul by Steven Anderson on Nicolas Fedor Miku. Kris Commons takes the direct free kick.44:29
Foul by Steven Anderson on Gary Hooper, free kick awarded. Scott Brown restarts play with the free kick.43:55
Shot on goal by Peter Pawlett from inside the box goes harmlessly over the target.42:37
Scott Brown challenges Peter Pawlett unfairly and gives away a free kick. Free kick crossed right-footed by David MacKay, Mikael Lustig manages to make a clearance.40:50
Free kick awarded for an unfair challenge on Kris Commons by David MacKay. Direct free kick taken by Kris Commons.39:03
Inswinging corner taken from the left by-line by Peter Pawlett, clearance by Mikael Lustig.38:47
Chris Millar crosses the ball, clearance by Mikael Lustig.36:17
Corner taken by Liam Craig from the right by-line.35:55
Peter Pawlett takes a shot. Blocked by Emilio Izaguirre.34:03
Mikael Lustig concedes a free kick for a foul on Gregory Tade. David MacKay crosses the ball from the free kick right-footed from left wing, clearance by Charlie Mulgrew.32:37
Free kick awarded for an unfair challenge on James Forrest by Gary Miller. Emilio Izaguirre takes the direct free kick.31:52
Nicolas Fedor Miku produces a right-footed shot from just outside the box that misses to the right of the net.29:38
Liam Craig challenges Nicolas Fedor Miku unfairly and gives away a free kick. Mikael Lustig takes the direct free kick.28:35
Free kick awarded for an unfair challenge on Gregory Tade by Kelvin Wilson. Liam Craig takes the free kick.26:20
Gregory Tade concedes a free kick for a foul on Charlie Mulgrew. Direct free kick taken by Victor Wanyama.24:13
Inswinging corner taken left-footed by Liam Craig, Nicolas Fedor Miku makes a clearance.23:31
Emilio Izaguirre challenges Peter Pawlett unfairly and gives away a free kick. Liam Craig crosses the ball in from the free kick, Gary Hooper makes a clearance.23:02
Victor Wanyama concedes a free kick for a foul on Peter Pawlett. Alan Mannus restarts play with the free kick.21:22
Free kick taken by Scott Brown.21:22 Substitution
Substitution Murray Davidson leaves the field to be replaced by Chris Millar.21:22
Free kick awarded for a foul by Gregory Tade on Victor Wanyama.18:35
Steven Anderson challenges Kris Commons unfairly and gives away a free kick. Kris Commons fires a strike on goal direct from the free kick.17:11
Rowan Vine provided the assist for the goal.17:11 Goal scored
Goal! - Gregory Tade - St J'stone 1 - 1 Celtic Gregory Tade scores a goal from deep inside the penalty box to the bottom left corner of the goal. St Johnstone 1-1 Celtic.15:53
Inswinging corner taken left-footed by Liam Craig, Victor Wanyama makes a clearance.15:27
Patrick Cregg takes a shot. Blocked by Kelvin Wilson.13:31
Unfair challenge on James Forrest by Frazer Wright results in a free kick. Kris Commons crosses the ball in from the free kick, clearance by Frazer Wright.11:55
Victor Wanyama produces a right-footed shot from just outside the penalty box that misses to the left of the target.11:03
Effort from the edge of the box by Gary Hooper goes wide of the left-hand post.10:25
Mikael Lustig restarts play with the free kick.10:25 Booking
Booking Patrick Cregg booked.10:16
Free kick awarded for a foul by Patrick Cregg on Victor Wanyama.9:51
Corner taken right-footed by Peter Pawlett from the left by-line, clearance made by Mikael Lustig.8:49
Foul by Charlie Mulgrew on Gregory Tade, free kick awarded. Shot on goal comes in from David MacKay from the free kick, save by Fraser Forster.7:22
Free kick awarded for a foul by Emilio Izaguirre on Patrick Cregg. The free kick is swung in left-footed by Liam Craig, Mikael Lustig manages to make a clearance.6:09
Kris Commons takes a shot. Save by Alan Mannus.5:40
David MacKay challenges Scott Brown unfairly and gives away a free kick. Free kick taken by Mikael Lustig.4:57
Foul by Emilio Izaguirre on Peter Pawlett, free kick awarded. The free kick is swung in right-footed by Gary Miller, clearance made by Kelvin Wilson.3:03
Gary Hooper provided the assist for the goal.3:03 Goal scored
Goal! - Kris Commons - St J'stone 0 - 1 Celtic Kris Commons grabs a goal from just outside the penalty area to the bottom right corner of the goal. St Johnstone 0-1 Celtic.1:16
Free kick awarded for a foul by Gregory Tade on Kelvin Wilson. Fraser Forster restarts play with the free kick.0:00
The referee gets the match started.
Live data and text provided by our data suppliers