Celtic moved level on points with league leaders Inverness as they survived a nervy ending to their match against St Johnstone.
Neil Lennon's side dominated the first half entirely and were two goals ahead thanks to a Teemu Pukki shot and Charlie Mulgrew's low drive.
St Johnstone improved after the break and Liam Caddis pulled a goal back with nine minutes remaining.
And Fraser Forster made a great late save to deny Saints' Dave Mackay.
Celtic started with nine of the players who started at the San Siro in their 2-0 Champions League defeat by AC Milan.
Perhaps it was with that match in mind that St Johnstone took to the field resplendent in their AC Milan-style red and black change kit.
Lennon has made public his desire for his players to pick up maximum points in domestic league games after matches in Europe and there was little sign of any early Champions League hangover.
Pukki opened the scoring in his first start, the Finnish striker firing a shot through the legs of St Johnstone keeper Alan Mannus.
The Northern Irish goalie did well to parry Adam Matthews's powerful shot after he broke into the St Johnstone box.
In the 26th minute Celtic doubled their lead. Mulgrew picked the ball up 25 yards from goal and lashed an unstoppable drive low into the bottom corner of the net.
Soon after Mulgrew almost got a second but his curling effort went wide.
St Johnstone's only chance of the first half came from a back-pass header from Celtic left winger Derk Boerrigter which almost caught Forster out.
Boerrigter should have scored minutes later but his header from Anthony Stokes's perfect cross failed to hit the target.
The second half started with Celtic again on the attack, with Stokes hitting a shot just wide of the post.
After showing nothing in the first half St Johnstone became a little more enterprising and substitute Stevie May flashed a header over and midfielder Chris Millar forced a save from Forster.
But it would get better for Saints when substitute Caddis got on the end of a cross and Forster could not keep the ball from crossing the line.
And the visitors thought they might have had a penalty near the end when Steven MacLean went down in the box under a challenge from Stokes but the referee waved play-on.
Saints upped the pressure and a late strike from Mackay forced a save from Forster in injury time after May's flick had struck the post as Celtic endured some nervous closing moments.
- 01 Forster Booked
- 02 Matthews (Biton - 46' )
- 03 Izaguirre
- 04 Ambrose
- 05 van Dijk
- 08 Brown
- 11 Boerrigter
- 15 Commons (Samaras - 59' )
- 21 Mulgrew
- 10 Stokes
- 20 Pukki (Balde - 87' )
- 24 Zaluska
- 06 Biton
- 18 Rogic
- 37 Atajic
- 46 McGeouch
- 09 Samaras
- 17 Balde
- 01 Mannus
- 02 MacKay
- 05 Wright
- 06 Anderson Booked
- 24 Easton
- 04 Cregg Booked (Hasselbaink - 87' )
- 07 Millar
- 08 McDonald
- 10 Wotherspoon (Caddis - 68' Booked )
- 18 Davidson (May - 61' )
- 09 MacLean
- 15 Banks
- 03 Scobie
- 19 Miller
- 14 Edwards
- 16 Caddis
- 17 May
- 11 Hasselbaink
Live Text Commentary
Full Time The match has reached full-time.90:00 +0:12
Stevie May takes the chance to get an effort at goal and hits the post.89:40
Free kick taken by Nigel Hasselbaink.89:26
Nigel Hasselbaink fouled by Anthony Stokes, the ref awards a free kick.89:12
Alan Mannus takes the free kick.88:43
The assistant referee flags for offside against Anthony Stokes.86:13 Substitution
Substitution Teemu Pukki leaves the field to be replaced by Amido Balde.86:03 Substitution
Substitution Nigel Hasselbaink comes on in place of Patrick Cregg.84:43
Charlie Mulgrew manages to make a clearance.84:36
Corner taken by Liam Caddis.84:11
Clearance by Frazer Wright.84:03
Corner taken by Liam Caddis from the right by-line.82:01
Booking for Liam Caddis.82:01 Booking
The referee books Fraser Forster for unsporting behaviour.81:45 Booking
Unfair challenge on Liam Caddis by Fraser Forster results in a free kick.80:08
The assist for the goal came from Chris Millar.80:08 Goal scored
Goal! - Liam Caddis - Celtic 2 - 1 St J'stone Liam Caddis scores a goal. Celtic 2-1 St Johnstone.78:10
Clearance made by Frazer Wright.
Charlie Mulgrew restarts play with the free kick.77:59
Booking for Steven Anderson.77:59 Booking
Steven Anderson concedes a free kick for a foul on Teemu Pukki.77:35
Corner taken by Liam Caddis from the right by-line.76:44
Chris Millar takes the chance to get an effort at goal.76:25
Clearance made by Frazer Wright.76:20
The ball is crossed by Charlie Mulgrew.76:04
Frazer Wright makes a clearance.75:45
Corner from the right by-line taken by Charlie Mulgrew.68:58
Charlie Mulgrew takes the free kick.68:44
The referee books Patrick Cregg for unsporting behaviour.68:44 Booking
Patrick Cregg concedes a free kick for a foul on Georgios Samaras.67:24 Substitution
Substitution Liam Caddis comes on in place of David Wotherspoon.65:17
Header at goal by Stevie May goes right of the post.65:04
The ball is crossed by David Wotherspoon.60:12 Substitution
Substitution Stevie May on for Murray Davidson.59:00
Corner taken by Charlie Mulgrew from the left by-line.58:52 Substitution
Substitution Georgios Samaras replaces Kris Commons.57:26
Corner taken by Anthony Stokes.52:02
Clearance by Efe Ambrose.51:54
Corner taken by David Wotherspoon from the left by-line.47:46
Virgil van Dijk restarts play with the free kick.47:33
Unfair challenge on Derk Boerrigter by Patrick Cregg results in a free kick.47:00
Fraser Forster takes the free kick.46:54
Steven MacLean is ruled offside.45:50
Anthony Stokes takes a fantastic shot and missed to the right of the goal.45:01
The referee gets the second half started.45:01 Substitution
Substitution Nir Biton comes on in place of Adam Matthews.45:00 +0:08 Half time
Half Time The whistle is blown to end the first half.40:57
Steven Anderson makes a clearance.40:42
Corner taken by Kris Commons.39:11
Patrick Cregg takes the free kick.38:57
Patrick Cregg fouled by Charlie Mulgrew, the ref awards a free kick.37:12
Efe Ambrose makes a clearance.37:07
Free kick taken by David Wotherspoon.36:56
Steven MacLean fouled by Virgil van Dijk, the ref awards a free kick.36:26
Header by Derk Boerrigter goes over the bar.36:20
The ball is delivered by Anthony Stokes.34:12
Clearance by Adam Matthews.33:57
Brian Easton restarts play with the free kick.33:50
Anthony Stokes challenges Brian Easton unfairly and gives away a free kick.32:47
Shot by Charlie Mulgrew missed to the left of the target.29:32
Charlie Mulgrew restarts play with the free kick.29:23
Gary McDonald concedes a free kick for a foul on Scott Brown.26:34
Adam Matthews takes the free kick.26:26
Scott Brown fouled by Murray Davidson, the ref awards a free kick.25:26 Goal scored
Goal! - Charlie Mulgrew - Celtic 2 - 0 St J'stone Charlie Mulgrew slots the ball left footed into the goal. Celtic 2-0 St Johnstone.24:17
Charlie Mulgrew crosses the ball in from the free kick.24:07
Unfair challenge on Derk Boerrigter by Gary McDonald results in a free kick.22:47
Clearance by Efe Ambrose.22:42
Corner taken by David Wotherspoon from the left by-line.18:58
Virgil van Dijk takes the free kick.18:07
Unfair challenge on Anthony Stokes by Gary McDonald results in a free kick.17:56
Virgil van Dijk restarts play with the free kick.17:38
Foul by Steven MacLean on Charlie Mulgrew, free kick awarded.14:14
Clearance made by David Mackay.14:10
The ball is delivered by Adam Matthews.11:44
Scott Brown has an effort at goal.10:21
Assist on the goal came from Anthony Stokes.10:21 Goal scored
Goal! - Teemu Pukki - Celtic 1 - 0 St J'stone Teemu Pukki scores with their right foot. Celtic 1-0 St Johnstone.8:45
Scott Brown crosses the ball.4:17
Frazer Wright makes a clearance.4:10
Corner taken by Kris Commons from the left by-line.0:00
The match has kicked off.
Live data and text provided by our data suppliers