Anthony Stokes curled home a late free-kick against Dundee United to round off a rewarding week for Celtic.
The visitors began the brighter, with Stokes volleying wide and Virgil van Dijk firing over.
United eventually responded with David Goodwillie's downward header and Nadir Ciftci's lofted free-kick testing goalkeeper Fraser Forster.
The players produced little to excite in the second half until Stokes despatched his free-kick with aplomb.
Having reached the Champions League group stage thanks to their 3-0 win over Shakhter Karagandy on Wednesday, Celtic manager Neil Lennon had intimated that he wants his players to deliver improved results in the matches that follow European exertions.
His message seemed to have registered, because there was a verve to the visitors' play from the first whistle.
Unusually, four of Celtic's five chances in the opening half hour came from their defensive players.
In the second minute, full-back Mikael Lustig drifted into the United box and, although he got a powerful shot away, it was blocked by Sean Dillon.
Jackie McNamara watched his United team lose to a late free-kick
Then van Dijk picked up the ball on the halfway line, saw the gap in the tangerine ranks and surged into the danger zone almost uncontested. His left-footed finish over the bar betrayed his normal central-defensive role.
With United struggling to keep pace, Honduran left-back Emilio Izaguirre showed he too had the appetite for domestic fare as he made himself available on the overlap and his cross was punched clear by home goalkeeper Radoslaw Cierzniak.
The Terrors inched their way into the match, tackling with vigour in midfield, but still the green and white shirts advanced.
When Stokes' 17th-minute volley whizzed past the left-hand post and, within a minute, van Dijk's thunderous 22-yard shot darted past the other post, Cierzniak could have been forgiven for feeling disorientated.
However, in the final 15 minutes of the first half, it was United who had the upper hand.
Defender Andy Robertson shot over Forster's crossbar from a tight angle then the English goalie kept out a Goodwillie header from Paul Paton's perfect cross from the left.
The Taysiders' best chance, though, came from Ciftci's 20-yard free-kick. The Dutch-born Turk clipped the ball firmly over the Celtic wall but was denied a goal by the strong outstretched hand of Forster as the goalkeeper dived to his right.
Commons was the player who further brightened the match at sun-drenched Tannadice.
Within five minutes of the restart, he had created two chances down the right, the first of which he fired low at goal after cutting on to his favoured left foot, then he slipped the ball between a United trio and squeezed into the box before his cutback was cleared.
Lustig was stretchered off with a painful ankle after landing awkwardly from an aerial challenge with Gavin Gunning, with striker Amido Balde his replacement.
This typified the scrappiness of the match at that stage as a series of fouls, over-hit passes and offside decisions prevented any sense of momentum in the play.
Gary Mackay-Steven clipped Stokes to present the Irishman with a free-kick in an attractive position just outside the box, but the visiting striker's effort lacked craft and cannoned off the United wall.
Home manager Jackie McNamara replaced Goodwillie with 17-year-old Ryan Gauld, but it was another of his young players, Robertson, who caught the eye with a testing cross from the left that caught Forster flat-footed.
Ten minutes from time, Mackay-Steven's dance towards the Celtic goal was halted by van Dijk's illegal block in the D.
Gauld's free-kick did not progress beyond the wall and the match seemed destined for the first goalless meeting between the teams in 19 years.
However, Stokes made United pay for Stuart Armstrong's foul on him as he ran into the penalty area. He curled the subsequent free-kick in off the left-hand post to give Celtic the win.
Live text and stats
Saturday, 31 August 2013
06 Paton yellow card
07 Goodwillie (Gauld 71)
05 van Dijk
11 Boerrigter (Rogic 83)
23 Lustig (Balde 58)
10 Stokes yellow card
Ref: CrawfordAtt: 10,586
Attempts on target
Attempts off target
90:00+5:13 The referee brings the game to a close.
90:00+5:03 Stuart Armstrong sends in a cross.
90:00+4:09 Virgil van Dijk makes a clearance.
90:00+2:30 Kris Commons takes a shot and went wide of the right hand post.
90:00+0:34 Kris Commons takes the free kick.
90:00+0:24 Gavin Gunning concedes a free kick for a foul on Joe Ledley.
90:00+0:01 Clearance by Keith Watson.
89:55 Efe Ambrose restarts play with the free kick.
89:31 Scott Brown fouled by Nadir Ciftci, the ref awards a free kick.
89:15 Kris Commons has an effort at goal and missed to the right of the net.
89:01 Radoslaw Cierzniak takes the free kick.
88:42 Sean Dillon fouled by Amido Balde, the ref awards a free kick.
88:28 Efe Ambrose restarts play with the free kick.
88:15 Paul Paton is cautioned.
88:11 Paul Paton concedes a free kick for a foul on Adam Matthews.
86:58 Anthony Stokes receives a caution.
86:42 GOAL - Anthony Stokes:Dundee Utd 0 - 1 Celtic Anthony Stokes finds the net with a shot from the free kick. Dundee Utd 0-1 Celtic.
85:55 Free kick awarded for a foul by Keith Watson on Anthony Stokes.
84:21 Shot by Kris Commons went wide of the left-hand post.
82:13 Substitution Derk Boerrigter leaves the field to be replaced by Tom Rogic.
81:47 Header at goal by Amido Balde misses to the right.
81:37 Corner taken by Kris Commons.
80:08 Fraser Forster restarts play with the free kick.
79:59 Unfair challenge on Virgil van Dijk by Keith Watson results in a free kick.
79:44 Ryan Gauld has a direct shot on goal from the free kick.
79:06 Gary Mackay-Steven fouled by Virgil van Dijk, the ref awards a free kick.
77:24 Free kick taken by Sean Dillon.
77:16 Free kick awarded for an unfair challenge on Sean Dillon by Amido Balde.
76:29 Emilio Izaguirre delivers the ball.
73:08 Andrew Robertson delivers the ball.
70:55 Substitution Ryan Gauld replaces David Goodwillie.
70:34 Paul Paton makes a clearance.
70:29 Centre by Adam Matthews.
69:29 Gavin Gunning manages to make a clearance.
69:27 The ball is crossed by Anthony Stokes.
67:58 Shot comes in from Anthony Stokes from the free kick.
67:07 Free kick awarded for an unfair challenge on Anthony Stokes by Gary Mackay-Steven.
66:16 Free kick taken by Efe Ambrose.
65:53 Foul by David Goodwillie on Efe Ambrose, free kick awarded.
64:25 Radoslaw Cierzniak restarts play with the free kick.
63:50 Anthony Stokes is caught offside.
62:23 Stuart Armstrong crosses the ball in from the free kick.
62:01 Kris Commons concedes a free kick for a foul on Nadir Ciftci.
61:51 Andrew Robertson takes the free kick.
61:44 Adam Matthews challenges Nadir Ciftci unfairly and gives away a free kick.
61:12 Free kick taken by David Goodwillie.
60:58 Free kick awarded for a foul by Efe Ambrose on David Goodwillie.
60:26 Virgil van Dijk restarts play with the free kick.
60:03 Gary Mackay-Steven gives away a free kick for an unfair challenge on Scott Brown.
57:28 Substitution Amido Balde joins the action as a substitute, replacing Mikael Lustig.
53:54 Fraser Forster restarts play with the free kick.
53:47 The referee blows for offside against Nadir Ciftci.
53:25 Free kick taken by Paul Paton.
53:03 Unfair challenge on Gary Mackay-Steven by Emilio Izaguirre results in a free kick.
52:27 Free kick taken by Radoslaw Cierzniak.
52:16 Derk Boerrigter challenges Keith Watson unfairly and gives away a free kick.
51:21 Adam Matthews crosses the ball.
51:04 Clearance by Emilio Izaguirre.
51:01 Corner from the right by-line taken by Gary Mackay-Steven.
48:46 Free kick crossed by Paul Paton.
48:20 Unfair challenge on Gary Mackay-Steven by Mikael Lustig results in a free kick.
47:06 Kris Commons has an effort at goal. Radoslaw Cierzniak catches the ball.
46:52 Corner taken by Kris Commons from the right by-line.
45:01 The second half begins.
45:00+0:18 The first half comes to an end.
42:55 Free kick taken by Sean Dillon.
42:48 Paul Paton fouled by Anthony Stokes, the ref awards a free kick.
42:42 Clearance by Virgil van Dijk.
42:40 The ball is sent over by David Goodwillie.
40:43 Clearance made by Mikael Lustig.
40:32 Free kick taken by Sean Dillon.
40:08 Unfair challenge on Keith Watson by Derk Boerrigter results in a free kick.
39:37 The ball is crossed by Kris Commons.
37:43 Clearance made by Gavin Gunning.
37:40 Free kick taken by Kris Commons.
37:15 Unfair challenge on Scott Brown by Paul Paton results in a free kick.
36:57 Fraser Forster takes the free kick.
36:38 David Goodwillie gives away a free kick for an unfair challenge on Joe Ledley.
36:25 Clearance made by Virgil van Dijk.
36:23 Corner taken by Gary Mackay-Steven.
36:02 Corner taken by Gary Mackay-Steven from the left by-line.
31:58 Emilio Izaguirre produces a cross.
28:23 John Rankin sends in a cross.
28:02 Nadir Ciftci produces a shot on goal direct from the free kick. Fraser Forster parries the ball away.
27:02 Free kick awarded for a foul by Scott Brown on Gary Mackay-Steven.
24:48 The ball is swung over by Emilio Izaguirre.
23:07 Header at goal by David Goodwillie. Fraser Forster parries the ball away.
23:03 Stuart Armstrong sends in a cross.
20:28 Kris Commons restarts play with the free kick.
20:04 Paul Paton concedes a free kick for a foul on Derk Boerrigter.
18:01 Virgil van Dijk takes a shot and missed to the left of the target.
17:38 John Rankin makes a clearance.
17:33 Corner taken by Kris Commons from the left by-line.
16:43 Shot by Anthony Stokes went wide of the right-hand post.
16:26 Clearance made by Gavin Gunning.
16:13 Centre by Derk Boerrigter.
15:33 Radoslaw Cierzniak makes a clearance.
15:30 Corner from the right by-line taken by Kris Commons.
13:57 Anthony Stokes sends in a cross.
10:42 Free kick taken by Fraser Forster.
10:26 David Goodwillie is caught offside.
9:30 Corner taken by Kris Commons.
8:27 Centre by Emilio Izaguirre.
5:46 The ball is swung over by Keith Watson.
3:21 Shot by Virgil van Dijk cleared the crossbar.
0:00 The referee gets the game started.
Live text and data provided by The Press Association.
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.