Match ends, Celtic 2, Hearts 0.
Kris Commons and James Forrest were on target as Celtic overcame a Hearts side inspired by goalkeeper Jamie MacDonald.
The stopper kept out Commons, Anthony Stokes and Joe Ledley in a first half played mostly in Hearts territory.
That pattern continued after the break and Commons eventually fired the opening goal.
And he preserved that lead when he cleared Dylan McGowan's header off the line before Forrest netted Celtic's second in stoppage time.
The visitors had arrived at Celtic Park still three points away from the zero mark, having started the season on -15 points due to insolvency problems, and with injuries to several first-team players.
Indeed, Hearts manager Gary Locke named only five substitutes and was given further cause for anxiety early on when David Smith went down in pain following a challenge but he soon recovered.
The prospect of another high-scoring win in the vein of Celtic's recent 7-0 humbling of Hearts in the Scottish Cup was apparent as the hosts began to dominate possession and territory.
But MacDonald had other ideas, reacting well to touch Stokes' rising effort onto the bar and then beating Commons' downward volley wide.
Teemu Pukki's shot on the turn was also kept out and the stopper reacted superbly to deny Joe Ledley moments later.
The Welsh midfielder stooped to meet Commons' cross with a header and MacDonald adjusted his left leg to make the block.
Celtic manager Neil Lennon sought to add more spark to his attack at the start of the second half by introducing Forrest in place of Nir Biton.
MacDonald produced another fine save to beat away Commons' diagonal shot but the Celtic forward found the net moments later.
The 30-year-old was played in by his captain Scott Brown and calmly slotted into the net from the edge of the six-yard area.
The Hearts goal continued to come under pressure and MacDonald blocked a close-range Ledley effort onto the post and then tipped over a Commons header.
Hearts had rarely been seen as an attacking force but forced a corner in the final minute of regulation time. McGowan's header beat Fraser Forster, but not the well-placed Commons.
And Forrest sealed Celtic's victory when he latched on to fellow substitute Georgios Samaras' through ball, skilfully evaded his marker and clipped the ball past MacDonald with the outside of his right foot.
- 6BitonSubstituted forForrestat 45'minutes
- 5van Dijk
- 20PukkiSubstituted forSamarasat 71'minutes
- 2HamillBooked at 60mins
- 20TappingSubstituted forNicholsonat 86'minutes
- 14WalkerBooked at 57minsSubstituted forCarrickat 73'minutes
- 26KingBooked at 75mins
- 17SmithBooked at 90mins
- Euan Norris
- Shots on Target
Second Half ends, Celtic 2, Hearts 0.
Goal! Celtic 2, Hearts 0. James Forrest (Celtic) right footed shot from the centre of the box to the bottom left corner. Assisted by Georgios Samaras.
Foul by Anthony Stokes (Celtic).
Dylan McGowan (Hearts) wins a free kick in the attacking half.
David Smith (Hearts) is shown the yellow card.
Georgios Samaras (Celtic) wins a free kick in the attacking half.
Foul by David Smith (Hearts).
Kevin McHattie (Hearts) wins a free kick in the attacking half.
Foul by Georgios Samaras (Celtic).
Attempt blocked. Dylan McGowan (Hearts) right footed shot from the centre of the box is blocked.
Corner, Hearts. Conceded by Virgil van Dijk.
Substitution, Hearts. Sam Nicholson replaces Callum Tapping.
Attempt missed. Anthony Stokes (Celtic) right footed shot from outside the box is close, but misses to the right.
Corner, Celtic. Conceded by Kevin McHattie.
Attempt missed. Emilio Izaguirre (Celtic) left footed shot from outside the box is too high.
Corner, Celtic. Conceded by Jamie MacDonald.
Attempt saved. Kris Commons (Celtic) header from the right side of the box is saved in the top centre of the goal.
Attempt missed. James Forrest (Celtic) right footed shot from outside the box is too high.
Adam King (Hearts) is shown the yellow card.