Linfield, Portadown and Glenavon made it through to the last four of the BetMcLean Cup on an action packed night of quarter-final action.
Holders Linfield accounted for league champions Larne in an eventually dramatic encounter at Inver Park that saw all the goals coming in the second half of extra-time before the issue was settled on spot-kicks.
Linfield were reduced to ten men early in extra-time after Kyle McClean was dismissed for a challenge on Donnelly, thus collecting his second caution of the evening.
Undeterred, the Blues moved in front on 109 minutes through Euan East who rose highest to nod home Aodhan Doherty's left-foot cross into the box.
Larne levelled three minutes later, however, courtesy of Lee Bonis' finish into the bottom corner before, just a couple of minutes after that, Leroy Millar sensationally edged Larne in front with a header from Cian Bolger's right-sided cross.
But Linfield hit back in the dying embers of extra-time through 16-year-old Braiden Graham's right-footed finish from inside the box to force the game into penalties.
And Graham proved to be the hero again, knocking home Linfield's winning spot-kick before Johns saved from Bonis to secure their place in the semi-finals and a meeting with either Dungannon Swifts or Newry City.
Their tie at Stangmore Park was twice delayed due to difficulties travelling to the venue before referee Shane Andrews eventually postponed the game ahead of kick-off.
The other semi-final will be an all-Mid Ulster affair after Portadown and Glenavon got past Loughgall and Coleraine respectively.
The Ports hit two goals without reply past top flight visitors Loughgall at Shamrock Park.
The deadlock was broken on 68 minutes after Sam Cochrane laid the ball off for Eoghan McCawl to show great composure and fire past Berraat Turker from close range.
Loughgall were reduced to ten men soon after when Alberto Balde was shown a straight red card for a challenge on Dale Montgomery but, not long after that, the Ports also lost a man following Aaron Traynor's second caution of the evening for a foul on Aaron Duke.
But Portadown made sure of their place in the last four when Eamon Fyfe got on the end of a long ball forward to calmly beat Turker.
Meanwhile, at the Showgrounds, Glenavon defeated Coleraine by the odd goal in five.
It took just half-an-hour for the deadlock to be broken, with two goals coming within a couple of minutes of each other.
Jack Malone opened the scoring on 31 minutes after beating the offside trap to run onto Tiarnan Mulvenna's through ball and firing past Gareth Deane.
But Coleraine levelled moments later when, from a Lee Lynch free-kick, Graham Kelly flicked the ball on for the unmarked Dean Jarvis to knock the ball beyond Rory Brown at the far post.
Glenavon regained the lead on the stroke of half-time, however, through Aaron Prendergast's side foot volley after connecting with Peter Campbell's cross from the right.
And that was how it stayed until a couple of minutes from time when substitute Cohen Henderson hit a third for Glenavon with a sublime finish past Deane after Campbell had done well laying the ball off inside the area.
Coleraine hit back in stoppage time after a Conor McKendry cross evaded Brown before going into the net ... and they almost snatched a dramatic equaliser after that when only a combination of keeper and post prevented a Ciaran O'Hara effort from crossing the line!