Hearts exited the Betfred Cup at BT Murrayfield as Celtic hit three second-half goals to take their place in the final.
Scott Sinclair's penalty, James Forrest's tap-in and Ryan Christie's 20-yard effort were too much for the Edinburgh club, who suffered after losing stand-in captain Steven Naismith to injury just eight minutes in.
Celtic increased the pace of their performance after a goalless and evenly-matched first 45 minutes, and the half-time introduction of Christie was pivotal to the final outcome. He scored one and had a major hand in the other two goals to help Brendan Rodgers' team into their third successive League Cup final.
It was a disappointing afternoon for Hearts, whose play didn't reach the swashbuckling heights of their early-season league displays. They left out teenage winger Callumn Morrison and competed well in the opening 45 minutes before succumbing to pressure after the break.
Peter Haring and Olly Lee returned to the Hearts starting line-up, while Celtic were without several first-team regulars for the journey to Edinburgh. Scott Brown, Leigh Griffiths, Dedryck Boyata and Jozo Simunovic all missed out through a combination of injuries and suspension.
The decision to switch this tie from a 7.45pm kick-off at Hampden Park to a 1.30pm start at BT Murayfield caused a mix of discontent and joy depending which side you favoured, but the scene as the teams emerged pre-match was one to savour.
Each side had around 30,000 supporters roaring their approval and setting an unforgettable scene. Hearts, the Premiership leaders, against Celtic, the Betfred Cup holders, made for a fascinating encounter.
There was drama right from the start as Craig Levein's side suffered yet another injury to a key player. Already without captain Christophe Berra, his deputy John Souttar and striker Uche Ikpeazu through long-terms ailments, skipper-for-the-day Naismith trudged off after only eight minutes. He pulled up off the ball with what at first glance seemed like a knee complaint and was soon replaced by Danny Amankwaa.
Celtic also suffered a blow when Eboue Kouassi went off injured, although not due to being grabbed in a very personal area off the ball by Hearts striker Steven MacLean. Sinclair took his place. The jousting continued and Lee tried a shot from distance which Scott Bain held comfortably. Bain was in goal instead of Craig Gordon having played in both previous rounds of this competition.
Bain had to pick the ball from his net five minutes before the break and was relieved to see the offside flag deny MacLean a goal after Haring's headed knockdown from Lee's corner. Play swung to the opposite end and Sinclair's run and shot from 18 yards forced the Hearts goalkeeper Zdenek Zlamal down to his left for an excellent save.
There was no question the game had yet to properly come to life as the half-time whistle sounded with the scoreline goalless. Celtic introduced Ryan Christie in place of Olivier Ntcham for the second half and the young Scot made an instant impact.
Exchanging passes with fellow sub Sinclair, he was challenged just inside the penalty box by Oliver Bozanic. Referee Willie Collum awarded a foul and penalty to the Glasgow side, which Sinclair confidently dispatched to Zlamal's right, securing the initiative for Celtic at a crucial time.
Christie was integral to the second goal on 66 minutes. When Odsonne Edouard's shot was blocked by Clevid Dikamona, he followed up with a first-time left-footed shot from the edge of the box. Zlamal failed to hold the ball, it squirmed behind him towards the line and the Czech could only push it out for the onrushing Forrest to slot home.
Then Christie etched his own name on the scoresheet in sublime fashion. Eduoard's lay-off was met first time by the midfielder, who sent a perfect 20-yarder high into the top corner with his left foot. That extinguished any lingering Hearts hope of a comeback.
Jimmy Dunne's goalline clearance prevented Edouard putting Celtic 4-0 up. Then, from Kieran Tierney's cutback, Zlamal took to the air to push Forrest's shot away. The Czech then sprung down to his right to stop Tierney's stinging drive from around 30 yards.
Celtic's pressure continued towards the end as they sought more goals. Sinclair was denied twice in quick succession by goalline clearances from Dikamona and Michael Smith, but the deficit as it stood took the Glasgow club through and ended Hearts' League Cup ambitions for another year.
Hearts (4-4-2): Zlamal; M Smith, Dikamona, Dunne, Mitchell; Bozanic (Morrison 70), Lee (Clare 76), Haring, Djoum; MacLean, Naismith (Amankwaa 8). Unused subs: Doyle, Hughes, Garuccio, Cochrane.
Celtic (4-2-3-1): Bain; Lustig, Ajer (Hendry 80), Benkovic, Tierney; Kouassi (Sinclair 27), Ntcham (Christie 46); Forrest, Rogic, McGregor; Edouard. Unused subs: Gordon, Hayes, Morgan, Ralston.
Referee: Willie Collum.