Cliftonville and Ballymena United will face each other in this season's County Antrim Shield final after winning their semi-final matches.
Joe Gormley netted the winner as Irish Premiership leaders Cliftonville beat Glentoran 1-0 at Solitude.
Adam Lecky's hat-trick helped Ballymena cruise past Championship strugglers H&W Welders to win 4-0 and reach their fourth final in eight seasons.
This season's decider will be played on 21 January.
While Glentoran had the better of the early exchanges at Solitude - Navid Nasseri and Paul O'Neill both threatened Richard Brush's goal - it was Cliftonville who found the all-important goal after 17 minutes.
Garry Breen's long ball eluded the Glens defence and Gormley made no mistake, lobbing the ball over the onrushing Elliott Morris for his 19th goal of the season.
Gormley almost doubled the Reds' advantage two minutes later but produced an excellent save from Morris at the end of a swift counter-attack from the hosts.
Breen thought he'd scored Cliftonville's second with a header after 22 minutes but Patrick McClean managed to turn the ball away on the goal-line before Breen fired the rebound wide.
The Cliftonville players claimed the ball had crossed the line but referee Evan Boyce pointed for a goal-kick. Jamie Harney then hit the bar with a header as the home side pushed for a second.
The chances kept coming following the restart as John Herron fired over for the visitors before Darren Murray spurned a gilt-edged chance when he blasted over after latching on to Herron's flicked pass over the Reds defence.
Gormley passed up a chance to kill the game off when he screwed a shot over the bar before Thomas Maguire and Ronan Doherty produced a fine double-save from Morris.
In the end, Gormley's first-half strike proved enough as Cliftonville advance to their first County Antrim Shield final since 2015.
Lecky treble fires Ballymena past Welders
Adam Lecky netted a hat-trick as Ballymena eased past Championship side H&W Welders at the Ballymena Showgrounds.
Lecky broke the deadlock after just 11 minutes when he shot low past Welders 'keeper Ryan Miskelly.
On 25, he doubled the lead after some fine work by Steven McCullough just a few minutes after Jude Winchester had clipped the crossbar.
Shane McGinty pounced on a defensive mix-up to add Ballymena's third just two minutes later.
Kenny Kane teed up Lecky to complete his hat-trick six minutes into the second half.
Winchester should have added the Sky Blues' fifth but fired wide in a one-on-one with Miskelly.
Ballymena reach their fourth final in eight seasons - they won in 2013 and 2016 before losing to Crusaders in 2018.
The win was a much-needed boost for David Jeffrey's Ballymena, who haven't won in the league since 28 September.