Celtic returned to within four points of Scottish Premier League leaders Rangers after beating Dundee United.
The visitors dominated early on and Gary Hooper's 12th-minute strike broke the deadlock.
James Forrest failed to convert an excellent chance and Cha Du-Ri fired wide as Celtic continued to press in the first half.
United rarely threatened and were poor in possession throughout, a wayward shot by Willo Flood their best effort.
Traffic problems near Tannadice meant a change of referee with Calum Murray unable to make it to the ground on time and Craig Thompson stepping up from his fourth official role.
Celtic were on the attack straight away and Georgios Samaras burst down the left before firing across a low centre that Anthony Stokes was inches away from connecting with.
The visitors were pinning United back and Forrest skilfully evaded John Rankin and crossed for Stokes, whose header looped over the crossbar.
It was the turn of the Tangerines to exert some pressure and driven crosses by Rankin and Robbie Neilson required last-ditch clearances from the visiting defence.
But Celtic soon opened the scoring with Hooper and Forrest combining well on the break.
The striker received Forrest's return pass, skipped past Gavin Gunning and slammed a shot across the bows of goalkeeper Dusan Pernis into the far corner.
Forrest then played a one-two with Stokes to beat the offside trap but the winger planted his shot straight into the arms of Pernis.
Neilson ventured foward to boost Dundee United's attack and managed to get a header to Rankin's cross but keeper Fraser Forster gathered.
United's frustration at having so few chances was demonstrated by Johnny Russell's hurried shot from distance that flew wide when playing in a teammate would perhaps have been a better option.
Another Celtic one-two, this time between Cha and Hooper, put the defender through but his shot was well wide.
The home side's inability to retain meaningful possession continued after the break but Celtic were doing little to turn their superior territory into a more convincing lead.
United manager Peter Houston decided to take action and sent on Lauri Dalla Valle and Stuart Armstrong in place of Gary MacKay-Steven and Scott Robertson.
Celtic boss Neil Lennon also made a change with Glenn Loovens withdrawn and club captain Scott Brown continued his return from injury from the bench, Victor Wanyama dropping back into defence.
Flood's inswinging corner was beaten away by Forster as the game became ever more scrappy.
Flood then blazed wide from a promising position and that proved to be the midfielder's last contribution as Ryan Dow came on in his place.
At the other end, Forrest was also off target with two efforts from the left as Celtic closed out the game.
Live Text Commentary
Full Time The match has reached full-time.90:00 +0:32
Sung-Yeung Ki takes a shot. Dusan Pernis makes a save.89:08
Sung-Yeung Ki has an effort from just inside the box that misses to the left of the goal.87:18
James Forrest has an effort at goal from just outside the box which goes wide of the left-hand upright.85:32
Gavin Gunning takes a shot.83:23
Stuart Armstrong has shot on goal from just outside the area which goes wide of the right-hand upright.82:53 Substitution
Substitution Willo Flood goes off and Ryan Dow comes on.81:28
Centre by Johnny Russell, clearance made by Du-Ri Cha.79:38
Garry Kenneth challenges Georgios Samaras unfairly and gives away a free kick. Daniel Majstorovic takes the direct free kick.78:56
The ball is delivered by Willo Flood.77:28
Fraser Forster restarts play with the free kick.77:28 Substitution
Substitution Anthony Stokes leaves the field to be replaced by Sung-Yeung Ki.77:28 Booking
Booking Booking for Robbie Neilson for unsporting behaviour.77:22
Free kick awarded for a foul by Robbie Neilson on Adam Matthews.77:15
Robbie Neilson produces a cross, Victor Wanyama manages to make a clearance.75:09
Anthony Stokes is caught offside. Free kick taken by John Rankin.74:48
Georgios Samaras fouled by Stuart Armstrong, the ref awards a free kick. Georgios Samaras takes the direct free kick.70:12
James Forrest takes the outswinging corner, Paul Dixon makes a clearance.68:49
James Forrest takes a outswinging corner.67:17
Corner taken by Willo Flood from the left by-line, save made by Fraser Forster.
Substitution Glenn Loovens leaves the field to be replaced by Scott Brown.65:18
Foul by Gary Hooper on Stuart Armstrong, free kick awarded. Free kick taken by Paul Dixon.60:04
Direct free kick taken by Garry Kenneth.60:04 Substitution
Substitution (Dundee Utd) makes a substitution, with Lauri Dalla Valle coming on for Scott Robertson.60:04 Substitution
Substitution Stuart Armstrong joins the action as a substitute, replacing Gary Mackay-Steven.60:04
Free kick awarded for an unfair challenge on Johnny Russell by Beram Kayal.59:53
Georgios Samaras is caught offside. Free kick taken by Dusan Pernis.59:07
The referee blows for offside. Indirect free kick taken by Dusan Pernis.58:01
Corner taken by Du-Ri Cha.48:48
The official flags Anthony Stokes offside. Willo Flood takes the free kick.48:29
Unfair challenge on Anthony Stokes by Jon Daly results in a free kick. Daniel Majstorovic takes the direct free kick.47:23
Free kick awarded for a foul by Gary Hooper on Scott Robertson. Paul Dixon takes the free kick.45:30
Adam Matthews takes a outswinging corner from the right by-line to the near post, Johnny Russell manages to make a clearance.45:01
The referee gets the second half started.45:00 +2:51 Half time
Half Time The players leave the pitch at half time.45:00 +2:41
The ball is delivered by Adam Matthews, Gavin Gunning manages to make a clearance.45:00 +2:07
Adam Matthews takes the outswinging corner, clearance made by Gavin Gunning.45:00 +1:38
Johnny Russell concedes a free kick for a foul on Victor Wanyama. Direct free kick taken by Beram Kayal.41:58
Free kick awarded for a foul by Victor Wanyama on Jon Daly. Free kick taken by Paul Dixon.41:00
Du-Ri Cha produces a right-footed shot from inside the area that goes over the bar.38:31
Shot from just outside the penalty box by Gary Mackay-Steven misses to the left of the target.37:18
Free kick awarded for a foul by Beram Kayal on Gary Mackay-Steven. Free kick taken by Dusan Pernis.35:21
Georgios Samaras produces a right-footed shot from just outside the area that goes wide left of the goal.34:24
Effort from the edge of the area by Du-Ri Cha goes wide of the left-hand post.33:23
The referee blows for offside against Georgios Samaras. Indirect free kick taken by Dusan Pernis.28:19
Garry Kenneth produces a cross, Daniel Majstorovic manages to make a clearance.25:23
Free kick awarded for an unfair challenge on Robbie Neilson by Anthony Stokes. Garry Kenneth restarts play with the free kick.24:23
Scott Robertson takes a shot. Save made by Fraser Forster.24:11
Centre by Robbie Neilson.23:27
Centre by Gary Mackay-Steven, Daniel Majstorovic manages to make a clearance.22:13
Glenn Loovens takes a shot. Dusan Pernis makes a save.21:17
Du-Ri Cha takes the direct free kick.21:17 Booking
Booking John Rankin is cautioned.21:02
Free kick awarded for an unfair challenge on James Forrest by John Rankin.20:23
The ball is swung over by Gary Mackay-Steven.18:39
John Rankin gives away a free kick for an unfair challenge on Beram Kayal. Free kick taken by Glenn Loovens.17:25
Anthony Stokes takes a shot. Dusan Pernis makes a save.16:40
James Forrest takes a shot. Save made by Dusan Pernis.15:25
John Rankin fouled by Victor Wanyama, the ref awards a free kick. Robbie Neilson takes the direct free kick.14:13
John Rankin delivers the ball, Glenn Loovens makes a clearance.12:00
Assist on the goal came from James Forrest.12:00 Goal scored
Goal! - Gary Hooper - Dundee U 0 - 1 Celtic Gary Hooper scores a goal from inside the penalty box to the bottom left corner of the goal. Dundee Utd 0-1 Celtic.11:14
The offside flag is raised against Anthony Stokes. Free kick taken by Dusan Pernis.11:06
Anthony Stokes crosses the ball.9:19
Outswinging corner taken by Paul Dixon.9:02
The ball is delivered by Robbie Neilson, clearance made by Du-Ri Cha.8:58
The ball is crossed by Willo Flood, clearance by Daniel Majstorovic.8:02
Gary Mackay-Steven delivers the ball, Daniel Majstorovic manages to make a clearance.7:20
Anthony Stokes produces a right-footed shot from inside the area that clears the bar.6:53
A cross is delivered by Adam Matthews.5:05
Foul by Du-Ri Cha on Gary Mackay-Steven, free kick awarded. Paul Dixon restarts play with the free kick.4:13
Georgios Samaras takes a shot. Paul Dixon gets a block in.3:22
Outswinging corner taken by Adam Matthews from the right by-line played to the near post, Johnny Russell manages to make a clearance.0:29
The ball is delivered by Georgios Samaras.0:00
The ref blows the whistle to start the match.
Live data and text provided by our data suppliers