Match ends, Heart of Midlothian 1, Celtic 2.
Leigh Griffiths broke Hearts with a match-winning display as Celtic reached the Scottish League Cup semi-finals with victory at Tynecastle.
The striker opened the scoring in the second half and then quickly created the second for Tom Rogic.
Hearts were defensively strong in the opening period but could not cope with Griffiths' skilful enterprise.
The holders deservedly progressed, even after Arnaud Djoum's late consolation for the home side.
Celtic join Ross County and St Johnstone in the draw for the last four, which will take place on 9 November after next week's final quarter-final between Hibernian and Dundee United.
Pre-match setback for Celtic
Ronny Deila began the night problem-solving with captain Scott Brown and Gary MacKay-Steven both injuring themselves in the warm-up. The former was in the starting line-up and the manager opted to replace him with James Forrest.
The visitors still started with a formidable attacking four, but any combination of players Deila might have chosen would have found the opening half frustrating.
Hearts were disciplined and organised enough to establish a deep, compact shape whenever the visitors carried the ball over the halfway line.
Kris Commons, Stuart Armstrong, Forrest and Leigh Griffiths were all denied the kind of room they need to wield their imagination. Hearts applied themselves to a strategy, even though the compromise was that their own attacking play was subdued.
Openings were restricted, and Celtic's chances came with long-range efforts. Forrest saw his volley from outside the area blocked by offside team-mate Griffiths and Commons shot over.
Hearts needed their two forwards, Juanma Delgado and Osman Sow, to be dominant, but they tended to be peripheral instead. Sow did create a chance for himself by bundling past a challenge but could only clip his shot wide.
The game opened up in the second half and Celtic took advantage, although there was a scare to overcome first.
When the solidly impressive Jordan McGhee delivered a free-kick deep into the Celtic box, Callum Paterson headed down for Sow, who was judged to be offside as he stabbed the ball past goalkeeper Craig Gordon.
Griffiths takes charge
As Hearts' defensive resolve slipped, Celtic could rely on the sprightly movement and razor-sharp instincts of Griffiths to take advantage.
He skipped past two Hearts defender with a dip of his shoulder and quick footwork, but then showed immense composure to size up the situation inside the area, open up his body and curl a shot past keeper Neil Alexander.
The home side tried to regroup but could not pass the ball accurately enough to build passages of pressure.
As Celtic were untroubled in defence, their attack began to flourish and another darting, incisive run from Griffiths ended with a cross that Forrest's replacement Rogic turned into the net from close range with a stylish flick.
Hearts managed a late rally and pulled a goal back when Djoun converted Jamie Walker's corner with his head, but it was too little, too late.
The evening might have started with consternation for Celtic as they coped with pre-match injuries, it ended with a sense of deserved satisfaction, not least for Griffiths.
- 4AugustynBooked at 84mins
- 22McGheeBooked at 34mins
- 8BuabenBooked at 17minsSubstituted forSutchuin-Djoumat 81'minutes
- 12KingSubstituted forWalkerat 53'minutes
- 19Delgado LloriaSubstituted forReillyat 87'minutes
- 49ForrestSubstituted forRogicat 59'minutes
- 6BittonBooked at 36mins
- 25JohansenBooked at 77mins
- 14S Armstrong
- 9GriffithsBooked at 72minsSubstituted forCiftciat 83'minutes
- John Beaton
- Shots on Target
Second Half ends, Heart of Midlothian 1, Celtic 2.
Goal! Heart of Midlothian 1, Celtic 2. Arnaud Djoum (Heart of Midlothian) header from very close range to the bottom right corner. Assisted by Jamie Walker with a cross following a corner.
Corner, Heart of Midlothian. Conceded by Dedryck Boyata.
Attempt blocked. Callum Paterson (Heart of Midlothian) right footed shot from outside the box is blocked.
Jamie Walker (Heart of Midlothian) wins a free kick in the attacking half.
Foul by Mikael Lustig (Celtic).
Attempt missed. Callum Paterson (Heart of Midlothian) right footed shot from outside the box is close, but misses to the left from a direct free kick.
Sam Nicholson (Heart of Midlothian) wins a free kick in the attacking half.
Foul by Stuart Armstrong (Celtic).
Substitution, Heart of Midlothian. Gavin Reilly replaces Juanma.
Attempt missed. Mikael Lustig (Celtic) header from the centre of the box is close, but misses to the left.
Blazej Augustyn (Heart of Midlothian) is shown the yellow card for a bad foul.
Foul by Blazej Augustyn (Heart of Midlothian).
Nadir Ciftci (Celtic) wins a free kick in the attacking half.
Substitution, Celtic. Nadir Ciftci replaces Leigh Griffiths.
Goal! Heart of Midlothian 0, Celtic 2. Tomas Rogic (Celtic) right footed shot from very close range to the bottom left corner. Assisted by Leigh Griffiths.
Substitution, Heart of Midlothian. Arnaud Djoum replaces Prince Buaben.
Attempt missed. Leigh Griffiths (Celtic) left footed shot from outside the box is too high from a direct free kick.
Foul by Morgaro Gomis (Heart of Midlothian).