Celtic's Scottish League Cup title defence remains on course after goals from Daizen Maeda and Giorgos Giakoumakis sealed a 2-0 win over Kilmarnock to reach another final.
Japanese forward Maeda turned Kyle Lafferty's attempted clearance into the net after 18 minutes at Hampden Park as Celtic looked to take another step towards lifting the trophy for a sixth time in seven years.
Giakoumakis wrapped up the win in the 95th minute, after Maeda had had a second goal disallowed following a VAR check and Reo Hatate had seen a strike also ruled out.
- How the teams lined up | Match stats
- Scottish Premiership table | Fixtures | Results
- Get Sky Sports | Download the Sky Sports App
Hoops goalkeeper Joe Hart denied Killie substitute Christian Doidge an equaliser in the 76th minute, while their appeals for a late penalty were also turned down after Giakoumakis clashed with Joe Wright late on.
Celtic will now face Rangers in the final on February 26.
Celtic's League Cup defence continues
Celtic ran out comfortable 2-0 winners when Killie visited Parkhead in the Scottish Premiership on January 7 and there were few outside Rugby Park who gave the Ayrshire side a chance.
Killie striker Lafferty, who returned from his 10-game ban for being caught using sectarian language on video, inadvertently contributed to the opening Hoops goal.
However, Danny Armstrong had the Celtic defence in trouble in the opening moments.
There were less than 30 seconds played when stretching forward Kyle Vassell just missed a cross from the Kilmarnock winger, who then forced a corner which was headed behind by Liam Donnelly.
Celtic, with right-back Josip Juranovic in for Alistair Johnston, were put under pressure again when defender Carl Starfelt gave possession away to Rory McKenzie, who forced a fine save from Hoops goalkeeper Hart with a low drive.
The Parkhead side began to assert themselves and soon took the lead.
When midfielder Aaron Mooy swung a free-kick into the box from the right, Lafferty's attempted clearance from inside the six-yard box came off the chest of Maeda and into the net.
The Rugby Park side responded immediately and Hart saved a Joe Wright header before Donnelly headed the resulting corner over the crossbar, chances that Derek McInnes' side could ill afford to squander.
Doidge and Liam Polworth took over from Lafferty and Donnelly for the start of the second half.
Celtic midfielder Hatate had the ball in the net in the 49th minute, but VAR ruled the goal out for offside, and he sent a drive wide of the target from the edge of the box six minutes later.
Maeda beat Killie goalkeeper Sam Walker from 14 yards on the hour mark but VAR ruled the goal out for an earlier offside on fellow countryman Kyogo Furuhashi who had slipped him through.
Celtic were in control but at the other end, following a Killie break, Armstrong hit the sidenetting on the stretch.
Postecoglou made a triple substitution with Giakoumakis, Liel Abada and Matt O'Riley on for Jota, Furuhashi and Hatate, with Kilmarnock's Scott Robinson taking over from Vassell, just before Hart made a great save from Doidge's close-range strike.
In the 83rd minute, as play stretched from end to end, Walker dived low to tip Mooy's curling effort clear and then Abada missed the target with a header.
But - at the death - Giakoumakis, who might have given away a penalty when he clumsily challenged Wright inside the box, tapped the ball into an empty net after Walker spilled a shot from fellow Hoops substitute David Turnbull.
Postecoglou: It was a battle
Ange Postecoglou was delighted to see Celtic through to the final in difficult conditions at Hampden Park:
"It was a tough game which you would expect in a cup semi-final.
"Credit to Derek and his boys, they gave everything to the contest. We had to match it because the pitch isn't in great condition which was disappointing.
"But it's credit to this team that it's not all about the football. There's a real desire and will to overcome any challenge.
"It was a battle, an arm wrestle in a cup semi-final played in trying conditions. We were never going to get open space or be able to play through them. Their application to their game didn't allow us.
"Our ultimate goal and ambition was to do what we had to do to win and this team has consistently done that. That's why we're in this position and rarely lose because whatever is thrown at us, this group of players find a way of getting the job done.
"We showed desire, discipline, structure. It's easy to do something rash in those conditions and mistakes are going to happen."
McInnes: It's a penalty
Kilmarnock manager Derek McInnes felt his side should have been awarded a penalty when Giorgios Giakoumakis brought down Joe Wright:
"We did so much right in the game but we needed everything to go almost pitch-perfect for us to beat a team of Celtic's quality.
"I felt the penalty towards the end, Joe Wright's been man-handled and there's no way Giakoumakis can get to the ball.
"The referee's got a brilliant view, I don't understand why it's not a penalty."
"What's the point in me speaking to the referee? Seriously, what is the point?
"VAR should be speaking to the referee. That's the conversation that needs to be had - not me after the event, Celtic are through to a final
"Pre VAR, post VAR, that's a penalty kick.
"Giakoumakis just gets a bit excitable. He's clumsy, it's a striker's challenge. He stumbles into the back of Joe Wright, with two arms round his waist. It's a penalty kick."
What's next?
Celtic return to Scottish Premiership action on January 18 at home to St Mirren. Kick off 7.45pm.
Kilmarnock face Rangers at Rugby Park on the same night, live on Sky Sports. That match kicks off at 8pm.