Portadown marched into the Irish Cup semi-finals with a 3-2 victory - but had to survive a second-half Linfield fightback after a sparkling first-half display.
The Ports lined out in a similar 4-5-1 formation to the previous week’s league win at Windsor Park, with Gary Twigg back in the line-up from suspension.
The first chance of the half fell to left-back Ross Redman as he linked up with Sean Mackle but had his shot saved by goalkeeper Ross Glendinning.
However, the corner-kick led to the first goal of the afternoon as referee Andrew Davey spotted a Linfield handball off Chris Casement’s delivery. Casement stepped up and slotted home from the penalty spot to break the deadlock after seven minutes.
Portadown increased the lead on 22 minutes when Twigg marked his return with a close-range finish - reacting first after Redman’s floating, dipping free-kick delivery created confusion in the penalty box.
Linfield struggled to gain a grip on play but Garry Breen had to stretch to prevent Andrew Waterworth from racing clear of the Ports backline.
Twigg then doubled his tally in spectacular fashion. Peter McMahon’s sliderule pass was smashed home on the run by Twigg with a first-time drive from the left-hand side of the area that flashed past Glendinning.
Difficult conditions - in terms of weather and pitch - restricted the amount of passing football.
However, Breen produced the first effort of note in the second half with an ambitious free-kick from the Portadown side of the halfway line that forced Glendinning to scramble back and tip over the crossbar.
David Miskelly produced a save off Ross Clarke’s long-range shot as Linfield stepped up the pressure in search of a way back into the tie.
It arrived on 73 minutes when Waterworth picked out the run of Stephen Lowry and the midfielder found the net with a sidefoot shot.
Linfield had Portadown on the backfoot over the final stages, with efforts for Waterworth and Clarke before a second was scored by the visitors.
Sean Ward’s free-kick on 84 minutes left Portadown struggling to clear and Lowry drilled in the loose ball.
PORTADOWN: David Miskelly, Chris Casement, Ross Redman, Keith O’Hara, Garry Breen, Peter McMahon, Sean Mackle, Tim Mouncey, Michael Gault, Gary Twigg, Robert Garrett. Subs: Billy Brennan, Chris Ramsey, Mark McAllister, Shea Conaty (on for Twigg, 76 mins), Jake Richardson.
LINFIELD: Ross Glendinning, Glenn Belezika, Jimmy Callacher, Andrew Waterworth, Stephen Lowry, Michael Carvill, Sean Ward, Warren Feeney, Jamie Mulgrew, Niall Quinn, Ross Clarke. Subs: Johnny Tuffey, Matthew Clarke, Kirk Millar (on for Callacher, 70 mins), Sammy Morrow (on for Feeney, 32 mins), Rodney Brown (on for Carvill, 58 mins).
Referee: Andrew Davey.