Kilmacud Crokes (Dublin) 1-17 Portlaoise (Laois) 3-08
Kilmacud Crokes held firm in testing circumstances at Parnell Park to squeeze through to the AIB Leinster club SFC final, their first since 2010.
The Dublin champions and four-time provincial winners got a giant scare when Portlaoise, trailing by three points, were awarded a penalty in stoppage time but Craig Rogers' shot was expertly saved by David Nestor.
Portlaoise, with seven titles to their credit, tried their best to pilfer a goal in the closing minutes but simply ran out of time as Crokes held on.
Crokes points between the 50th and 56th minutes from Pat Burke, county star Paul Mannion and Andrew McGowan ultimately sealed the Stillorgan side's place in the 9 December final.
They'll be hot favourites to overcome Longford's Mullinalagtha though joint managers Robbie Brennan and Johnny Magee will realise they lived dangerously here.
Aside from that penalty miss, Portlaoise drilled 12 wides and will kick themselves for not at least securing extra-time.
Dara Mullin finished as the Crokes top scorer with 1-2 while back to back All-Star Mannion improved in the second-half and claimed five points.
Cian O'Sullivan, one of only three Dubliners to start all six All-Ireland final wins since 2011, returned to the Crokes defence after sitting out the semi-final win over Dunboyne.
He was just back from his stag in Spain that day and wasn't missed as the Glenalbyn side won at their leisure but they were under more pressure here.
Crokes led by 1-11 to 2-05 at half-time but were fortunate to lead at all having been dominated at times under their own kick-out.
Portlaoise kicked that 2-05 tally in the opening half but also blasted nine wides and dropped a couple of efforts short.
Callum Pearson opened the Crokes scoring with a point after two minutes and Mullin scored a superb solo goal for them shortly after.
But the Portlaoise response was to drill a goal themselves when Gareth Dillon netted after a fine solo run up the left.
It set the tone for an intriguing back and forth and while Crokes led for the entire game they always looked vulnerable when Portlaoise attacked.
Paul Cahillane, the ex-Celtic soccer player, curled in a 17th minute goal for Portlaoise as they cut through the Crokes defence at times.
The problem for the Midlands outfit was that their own defence was too porous and Crokes scored from the majority of their attacks.
Crokes had seven different scores in the first-half with ex-Dublin players Pat Burke and Craig Dias on the mark along with the impressive Pearson.
Portlaoise also suffered from poor shooting at the other end and kicked too many wides which allowed the hosts to lead by that three-point margin at the break.
Mannion, fresh from his 2-06 tally in the quarter-finals, and 1-06 in the county final, was tracked throughout by David Seale in what was a terrific head to head.
Mannion escaped his man for a point after the restart but a Brian Flynn effort for Portlaoise cancelled it out.
The visitors reeled off two points from Cahillane before sub Rogers played a neat one-two and smacked in an equalising goal in the 46th minute.
But Portlaoise didn't score again as Crokes reeled off those three points in a row, before holding firm late on, to seal their place in next month's decider.
Kilmacud Crokes: David Nestor; Liam Flatman, Andrew McGowan (0-01), Ross McGowan; Cian O'Connor (0-01), Cillian O'Shea, Cian O'Sullivan; Craig Dias (0-01), Conor Casey; Shane Horan, Callum Pearson (0-03), Shane Cunningham (0-01); Paul Mannion (0-05, 0-02f), Dara Mullin (1-02), Pat Burke (0-03, 0-01f).
Subs: Aidan Jones for R McGowan (36), Kevin Dyas for Horan (47), Tom Fox for Cunningham (55), Stephen Williams for Mullin (62), Ronan Ryan for O'Connor (62, black card). Dias black card 65.
Portlaoise: Graham Brody; Frank Flanagan, Gary Saunders, David Seale; Cahir Healy, Chris Finn, David Holland; Ciaran McEvoy, Kieran Lillis (0-01); Brian Glynn (0-01), Conor Boyle (0-01), Gareth Dillon (1-00); Paul Cahillane (1-03, 0-01f), Brian McCormack (0-01), Ricky Maher (0-01).
Subs: Craig Rogers (1-00) for Maher (36), Scott Lawless for McCormack (47), Aaron Rafter for Glynn (55), Colin Finn for Holland (58),
Referee: David Coldrick (Meath).