Dundee United humbled the Scottish Premier League champions Celtic with a laboured victory at Tannadice.
Scott Robertson headed in a hastily-taken corner to give the hosts a 21st-minute lead.
In the second-half, claims for a Celtic penalty were waved away after the ball appeared to strike Keith Watson's arm inside the United area.
Gary Hooper came close to restoring parity in the final 10 minutes, but dragged his shot wide of the mark.
The defeat was only Celtic's fifth of the season on their way to claiming the title, but guarnatees United a Europa League slot and all but cements fourth place.
Celtic manager Neil Lennon made seven changes with Fraser Forster, Mikael Lustig, Glenn Loovens, Charlie Mulgrew, Adam Matthews, Scott Brown and Gary Hooper restored to the side which beat St Johnstone 1-0 on Thursday night.
United boss Peter Houston made two changes - defender Gavin Gunning replacing Garry Kenneth and former Sligo Rovers player Richie Ryan making his first start in place of Johnny Russell.
After 10 minutes played, Kris Commons picked out Hooper with a defence-splitting pass from the heart of midfield, but the cutback aimed at Brown on the edge of the penalty area was cleared.
A quickly-taken corner in the 21st minute minute allowed Robertson to leap unchallenged on the six yard line to nod the ball past a stationary Forster in the Celtic goal and spark the match to life.
Commons should have done better with a long-range short from the edge of the United penalty area as the half hour mark approached, then Hooper himself blasted in an effort from the same distance that Dusan Pernis clawed wide.
Celtic could have levelled the scores in the only minute of stoppage time when Commons flighted a low ball across the face of goal, but Anthony Stokes failed to reach it at the back post.
Immediately after the break, Robertson blasted a long-range effort wildly over the Celtic bar, then at the other end substitute Tony Watt leapt on to a Lustig cross but his header inched wide.
Moments later, youngster Watt blasted in a shot that Pernis parried wide of the United goal, then Dixon's close-range effort was blocked by Mulgrew and John Rankin failed to pick up the loose ball.
With 15 minutes remaining, Emilio Izaguirre's cross on the left appeared to strike the arm of Watson inside the United penalty area, but referee Iain Brines waved play on.
Inside the final 10 minutes, Hooper dragged an angled shot inches wide of the mark as the visitors pushed for a leveller.
Quality defending by Mulgrew prevented Russell targeting the Celtic goal in the last minute of regular time, but a late flurry of pressure from the visitors failed to find the goal that would have avoided defeat.
- 01 Pernis
- 02 Dillon
- 03 Dixon
- 18 Gunning (Kenneth - 82' )
- 26 Neilson (Watson - 66' )
- 06 Flood
- 07 Ryan
- 08 Robertson
- 11 Rankin Booked
- 17 Mackay-Steven (Russell - 68' )
- 09 Daly
- 13 Banks
- 05 Kenneth
- 12 Watson
- 10 Swanson
- 16 Armstrong
- 15 Russell
- 22 Dow
- 01 Forster
- 03 Izaguirre
- 21 Mulgrew
- 23 Lustig
- 25 Rogne (Wanyama - 56' Booked )
- 02 Matthews
- 08 Brown (McGeouch - 71' )
- 16 Ledley
- 10 Stokes (Watt - 46' )
- 15 Commons
- 88 Hooper
- 24 Zaluska
- 11 Cha Du-Ri
- 40 Ibrahim
- 46 McGeouch
- 67 Wanyama
- 14 Bangura
- 32 Watt
Live Text Commentary
Full Time The final whistle goes and the game is over.90:00 +2:55
Johnny Russell concedes a free kick for a foul on Emilio Izaguirre. Charlie Mulgrew restarts play with the free kick.90:00 +2:10
Corner taken short by Willo Flood.90:00 +1:31
Willo Flood takes a inswinging corner to the near post.90:00 +0:41
Scott Robertson fouled by Tony Watt, the ref awards a free kick. Free kick taken by Dusan Pernis.87:54
Corner taken right-footed by Willo Flood from the left by-line, save made by Fraser Forster.85:54
Foul by Richie Ryan on Kris Commons, free kick awarded. Direct free kick taken by Fraser Forster.83:10
Foul by John Rankin on Joe Ledley, free kick awarded. Free kick taken by Mikael Lustig.82:51 Booking
Booking John Rankin goes into the book for unsporting behaviour.81:17 Substitution
Substitution Gavin Gunning goes off and Garry Kenneth comes on.80:08
Close range shot by Gary Hooper goes wide of the left-hand post.74:55
Outswinging corner taken left-footed by Kris Commons from the right by-line, Joe Ledley concedes a free kick for a foul on Willo Flood. Dusan Pernis takes the free kick.74:42
The ball is sent over by Emilio Izaguirre, Keith Watson makes a clearance.72:00
Unfair challenge on Richie Ryan by Victor Wanyama results in a free kick. Free kick taken by Johnny Russell.70:23 Substitution
Substitution (Celtic) makes a substitution, with Dylan McGeouch coming on for Scott Brown.69:22
Free kick awarded for a foul by Keith Watson on Joe Ledley. Emilio Izaguirre takes the free kick.67:12 Substitution
Substitution Johnny Russell joins the action as a substitute, replacing Gary Mackay-Steven.65:04 Substitution
Substitution Keith Watson replaces Robbie Neilson.62:31
Unfair challenge on Kris Commons by Scott Robertson results in a free kick. Kris Commons crosses the ball from the free kick right-footed from right channel.61:33
Victor Wanyama challenges John Rankin unfairly and gives away a free kick.
Robbie Neilson restarts play with the free kick.61:15 Booking
Booking The referee shows Victor Wanyama a yellow card for unsporting behaviour.58:32
The ball is swung over by Tony Watt. The offside flag is raised against Charlie Mulgrew. Indirect free kick taken by Dusan Pernis.58:00
Inswinging corner taken by Kris Commons, Robbie Neilson makes a clearance.54:56
Joe Ledley takes the direct free kick.54:56 Substitution
Substitution Victor Wanyama comes on in place of Thomas Rogne.54:56
Foul by Sean Dillon on Tony Watt, free kick awarded.51:03
Tony Watt takes a shot. Save made by Dusan Pernis.50:28
Tony Watt takes a shot. Save made by Dusan Pernis.49:09
Kris Commons takes a outswinging corner to the near post.48:39
Corner taken left-footed by Kris Commons from the right by-line, Robbie Neilson makes a clearance.45:01
The second half has started.45:01 Substitution
Substitution Tony Watt is brought on as a substitute for Anthony Stokes.45:00 +1:06 Half time
Half Time The referee calls an end to the first half.45:00 +0:53
Kris Commons takes a shot. Dusan Pernis makes a save.44:39
Outswinging corner taken by Anthony Stokes from the right by-line, clearance by Richie Ryan.44:00
Mikael Lustig concedes a free kick for a foul on Gary Mackay-Steven. Paul Dixon takes the free kick.42:39
Inswinging corner taken from the right by-line by Kris Commons, Richie Ryan makes a clearance.41:38
Thomas Rogne fouled by Willo Flood, the ref awards a free kick. Kris Commons takes the free kick.35:40
Gary Hooper takes a shot. Save by Dusan Pernis.34:02
Gary Hooper takes a shot. Robbie Neilson gets a block in.31:37
The assistant referee flags for offside against Emilio Izaguirre. Free kick taken by Robbie Neilson.28:30
Inswinging corner taken from the right by-line by Kris Commons, clearance made by Robbie Neilson.23:50
Free kick awarded for an unfair challenge on Anthony Stokes by Richie Ryan. Kris Commons takes the free kick.20:53
Assist on the goal came from Paul Dixon.20:53 Goal scored
Goal! - Scott Robertson - Dundee U 1 - 0 Celtic Scott Robertson scores a headed goal from inside the six-yard box. Dundee Utd 1-0 Celtic.20:12
Corner taken short by Gary Mackay-Steven,16:59
Free kick awarded for a foul by Sean Dillon on Emilio Izaguirre. Joe Ledley takes the direct free kick.12:24
Foul by Gary Mackay-Steven on Adam Matthews, free kick awarded. Mikael Lustig restarts play with the free kick.8:56
Corner taken by Kris Commons from the left by-line.1:01
Free kick awarded for a foul by Charlie Mulgrew on Jon Daly. Free kick crossed left-footed by Paul Dixon, clearance made by Joe Ledley.0:00
The game begins.
Live data and text provided by our data suppliers