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.
St Johnstone survived claims for a penalty following Anderson's challenge on Commons
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.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.