Allan Kelleher proved to be the hero for Rochestown with three saves in the shootout after extra time failed to separate the sides.
Marist had taken a first half lead through Dylan Stewart but Rochestown drew level with eight minutes remaining thanks to Evan Donlan.
Despite being reduced to nine men, Rochestown held out for extra time and then won on penalties to secure their place in the final against St Eunans of Letterkenny on March 29.
Rochestown dominated the opening quarter and had several chances to take the lead but were unable to find the net and Marist College took advantage on 16 minutes.
Kelleher got a hand to Kevin Rowan’s right wing cross but Dylan Stewart was on hand to loft the ball over the keeper and into the back of the net.
Rochestown continued to dominate the game and come close to getting back on level terms when left back Colin O’Mahony found his way into the Marist College penalty area but he was denied by the post after a low curling shot.
Marist College almost doubled their lead before half time when Tom O’Carroll and Rowan combined to set up Matthew Nally. His header fell to Stewart but his effort hit the crossbar and bounced to safety.
Rochestown were fast out of the blocks in the second half and nearly levelled after Tony Russell and Slevin set Doyle free inside the Marist College penalty area.
He crossed for Nathan O’Connell who looked certain to score but Tom O’Carroll got back to clear the ball off the line.
Things got more difficult for Rochestown when Hennessy saw red for a second bookable offence but they deservedly got level eight minutes from time.
A Patrick Buckley free kick was kept in play by Russell. He played the ball back to Donlan who hammered home the equaliser that forced extra time.
Rochestown were then reduced to nine men early in the first period of extra time when Buckley also received a second yellow card but Marist College were unable to make their two-man advantage tell and the game went to penalties.
Kelleher came to the fore during the shootout with three excellent saves. Doyle then stepped up to put Rochestown into the final with a powerful penalty that gave McGonagle no chance.
Allan Kelleher; Patrick Buckley, Conor Russell, Josh Honohan, Colin O’Mahony; David O’Donovan (Ger O’Mahony 52), Nathan O’Connell, Rory Doyle, Adam Hennessy; Evan Donlan, Ross Slevin (Shane Downey 93); Subs not used: Pierce O’Halloran, Conor Cremin, Dylan Fenton.
Stephen McGonagle; Keith Rushe, Kieran Colclough, Tomas Roper (Darragh Keena 88), Paul McGrath; Kevin Rowan, Ian O’Rourke, Oisin O’Brien, Dylan Stewart (Fred Kelleher, 71); Tom O’Carroll, Matthew Nally (Niall Doolan 95); Subs not used: Enda Tynan Daly, Brian Ruane.