Gary Twigg scored twice as Portadown held off a spirited Linfield comeback to seal an Irish Cup semi-final place.
Chris Casement converted a seventh-minute penalty awarded for handball, then Twigg poked the ball into the bottom corner in the 23rd minute.
Twigg took one touch before firing home a left-foot shot just before the break.
Stephen Lowry gave the Blues hope by pulling one back on 72 minutes and the midfielder grabbed another after poor Ports defending five minutes from time.
Linfield were seeking to avenge last week's 2-1 Premiership defeat by Ronnie McFall's side, but an insipid first-half performance put pay to their chances.
The hosts made all the early running and Ross Glendinning was forced to make a fine double save from defender Ross Redman.
Casement found the net with his spot-kick and the Ports could have been awarded a second penalty when Twigg appeared to be held by Glenn Belzeika.
The Blues full-back then headed the ball into the path of Twigg on the edge of the six-yard area and the striker rifled into the net.
Glendinning was left with no chance for Twigg's second on 43 minutes, Peter McMahon having set up his team-mate after robbing a defender.
The visitors were much improved after the interval and Lowry reduced his side's deficit after playing a one-two with Andrew Waterworth, who shot wide of the post soon after.
Sean Ward provided the assist for Lowry to score another, but Warren Feeney's outfit were unable to find an equaliser.