Match ends, Celtic 2, Alloa Athletic 0.
Celtic had to rely on two late strikes before overcoming dogged part-timers Alloa Athletic and reach the semi-finals of the Scottish League Cup.
While the Premiership leaders dominated the first half, home goalkeeper Craig Gordon was fortunate to escape with a yellow card for a foul on Greig Spence.
Kieran Tierney fired against the Alloa bar, while keeper Neil Parry made some fine stops for the League One leaders.
James Forrest struck with seven minutes left and Moussa Dembele fired a second.
It was a laboured victory for Brendan Rodgers' team, but pressure told and they join city neighbours Rangers and Greenock Morton in the last four, with the last quarter-final taking place on Thursday between Aberdeen and St Johnstone.
A determined defensive display by Alloa was finally undone, but the plaudits will go to Jack Ross's side.
Parry's parries deny Celtic
As was expected, Celtic dominated the early period and could even have gone in front within the first minute if it hadn't been for Parry smothering Tom Rogic's first-time shot.
Dembele and Tierney both drew excellent saves from the Alloa goalkeeper and it was all Celtic until Spence speculated with a 25-yard strike on the counter-attack and Gordon, back in the Celtic goal in place of Dorus de Vries, did well to push away the striker's effort.
That was a rare venture forward for Alloa as the Premiership leaders continued to probe and create but met a wall of black and gold producing competent last-ditch defending.
Tierney rattled the crossbar with a volley from wide on the left, while Rogic and Forrest went close from range.
Wasps almost produce sting
Gordon was punished with a yellow card after a kung fu-style tackle that floored Spence just outside the Celtic penalty box.
And, having withstood all Celtic's pressure, Alloa ended the first half by going close when Ben Gordon rose highest to head a free kick towards the top corner, only for his namesake in the Celtic goal to make a fine save.
Celtic manager Rodgers decided a change was required and introduced Scott Sinclair at the interval for Patrick Roberts.
However, the former Aston Villa winger encountered the same misfortune in front of goal with his first couple of efforts.
Forrest cuts down Alloa
It continued to be a procession towards Parry's goal, but the part-timers maintained their stubborn stance.
Scott Brown, Stuart Armstrong, Tierney and Rogic all had efforts off target before a competition developed between Forrest and Parry.
The Alloa goalkeeper made two inspired saves from the Celtic winger, but he could do nothing to stop the Scotland winger opening the scoring with a low left-foot strike into the bottom corner from 17 yards.
Alloa's dream of reaching their first national cup semi-final was truly extinguished when Dembele, with a brilliant solo goal, added the killer second goal in the last minute.
Celtic manager Brendan Rodgers: "They [Alloa] defended very, very well. They made it very, very difficult. Big applause to them.
"We weren't clinical enough. We kept going. We got there in the end, we got the job done. Our objective was to qualify for the semi-final and we're into the semi-final, and [with] a clean sheet, which is important.
"You have to be patient. Credit to both teams - for my team for sticking at it and for Alloa, who came and put up a great performance."
Alloa Athletic manager Jack Ross: "Neil Parry had an excellent game. We did what several Premiership teams have not done at Parkhead this season - we contained them for long spells.
"They [Celtic] are a very good team. We had to be incredibly resilient.
"I've not too many complaints about the overall outcome of the game but I would always argue that my players deserve something from it. I thought they were terrific.
"It's not a particularly clever challenge from Craig [Gordon] that results in only a yellow card. These are things that maybe didn't quite go our way but there's a lot of things that Celtic would complain didn't go their way."
- 1GordonBooked at 42mins
- 2K Touré
- 5SimunovicSubstituted forChristieat 71'minutes
- 27RobertsSubstituted forSinclairat 45'minutes
- 18RogicBooked at 67minsSubstituted forSviatchenkoat 85'minutes
- 24de Vries
- 5GordonBooked at 88mins
- 4GrahamBooked at 60mins
- 10CawleySubstituted forHolmesat 78'minutes
- 6GoodwinSubstituted forLongworthat 84'minutes
- Alan Muir
- Shots on Target
Second Half ends, Celtic 2, Alloa Athletic 0.
Attempt saved. Moussa Dembele (Celtic) right footed shot from the centre of the box is saved in the centre of the goal.
Goal! Celtic 2, Alloa Athletic 0. Moussa Dembele (Celtic) right footed shot from the centre of the box to the top right corner. Assisted by Kieran Tierney.
Ben Gordon (Alloa Athletic) is shown the yellow card for a bad foul.
Attempt missed. Scott Sinclair (Celtic) left footed shot from the left side of the box misses to the left.
Substitution, Celtic. Erik Sviatchenko replaces Tomas Rogic.
Substitution, Alloa Athletic. Jamie Longworth replaces Jim Goodwin.
Goal! Celtic 1, Alloa Athletic 0. James Forrest (Celtic) left footed shot from the centre of the box to the bottom right corner. Assisted by Ryan Christie.
Attempt blocked. Kieran Tierney (Celtic) right footed shot from outside the box is blocked.
Corner, Celtic. Conceded by Neil Parry.
Attempt saved. James Forrest (Celtic) left footed shot from the right side of the box is saved in the bottom right corner.
Attempt missed. Stuart Armstrong (Celtic) right footed shot from outside the box is close, but misses to the right.
Substitution, Alloa Athletic. Graeme Holmes replaces Kevin Cawley.
Attempt missed. Stuart Armstrong (Celtic) right footed shot from the centre of the box misses to the right.
Attempt saved. James Forrest (Celtic) left footed shot from outside the box is saved in the bottom left corner.
Foul by Scott Sinclair (Celtic).
Iain Flannigan (Alloa Athletic) wins a free kick on the right wing.
Corner, Celtic. Conceded by Kevin Cawley.
Attempt missed. Tomas Rogic (Celtic) left footed shot from outside the box is just a bit too high.