A blistering opening half-hour spell at The Oval sent Portadown back into the Irish Cup final for the first time since 2010.
Goals by Mark McAllister, Michael Gault and Peter McMahon provided the Ports with control against Ballymena United.
Darren Boyce’s finish was a Ballymena reward for the second-half response but the final whistle sparked celebrations on and off the pitch as Portadown players and fans moved one step away from silverware.
The perfect start featured McAllister on the scoresheet after three minutes on his return to the starting line-up.
The striker displayed composure inside the penalty area to delay his shot before slotting home past Dwayne Nelson.
Ballymena produced a positive response but the tie’s next talking point arrived when Portadown doubled the lead.
Michael Gault had one shot blocked on the line but he reacted first to turn home the rebound.
David Miskelly then dropped low to gather Allan Jenkins’ close-range header after a Gary McCutcheon cross to rescue David Cushley’s miscue.
Gary Twigg has proven value as a poacher but he turned provider on 26 minutes to send the Ports into dreamland.
The striker’s flick into the path of Peter McMahon was pushed forward between the Ballymena backline by the winger and he then converted with a cool lob.
Tim Mouncey’s sliding challenge prevented McCutcheon from firing off a shot and the final chance of the half dropped to Twigg but Nelson gathered the effort.
Miskelly was the hero against Ballymena in the 2010 penalty shoot-out and played his part this evening.
The goalkeeper punched clear a Boyce cross then stopped Gary Thompson’s shot.
McMahon almost scored a second goal in the same net when his attempted clearance off Tony Kane’s cross bounced off the Portadown post.
Substitute Boyce made his mark by firing a shot goalwards off Johnny Taylor’s pass and the attempt deflected home via Ross Redman.
Ballymena pressure included a Cushley shot off the outside of the post before Miskelly displayed strong hands to push over Boyce’s drive.
However, Portadown remained resolute to march into May’s Windsor Park showdown with Glentoran.
PORTADOWN: David Miskelly, Sean Mackle, Ross Redman, Keith O’Hara, Garry Breen, Shea Conaty, Michael Gault, Tim Mouncey, Peter McMahon, Mark McAllister, Gary Twigg. Subs: Darren Murray (on for Twigg, 73 mins), Billy Brennan, Jordan Lyttle, Christian Stewart.
BALLYMENA UNITED: Dwayne Nelson, Jim Ervin, Paddy McNally, Johnny Taylor, Stephen McBride, Tony Kane, Gary Thompson, Allan Jenkins, Gary McCutcheon, Matthew Tipton, David Cushley. Subs: Mark Surgenor, Stuart Addis, Brian McCaul, Darren Boyce (on for McCutcheon, 46 mins), Alan Teggart (on for McNally, 59 mins)
Referee: Andrew Davey.