Ruairí Óg Cushendall 3-13
Naomh Eoin 2-12
Second-half goals from Fergus McCambridge and Alex Delargy saw 14-man Cushendall edge Naomh Eoin once again to reach the Bath Shack Antrim SHC Final.
St John's had Ciaran Johnston dismissed late in the game but his side failed to make full use of their extra man in the second half and despite going point-for-point for long periods, Ruairí Óg were able to keep them at bay.
Cushendall's strength-in-depth certainly helped them over the line and the champions were able to spring Christy McNaughton, Ryan McCambridge and Donal McNaughton from the bench in the second period.
Pádraig Nugent blew any cobwebs off the large crowd by driving an early free to the net from 25 yards to give St John's an early lead and it took Cushendall three minutes to respond from a Neil McManus 65.
Nugent then fired his first point of the afternoon between the uprights but minors from McManus again and Alex Delargy saw the gap reduced to the minimum.
Niall McCormick then found the back of the St John's net, his shot ricocheting off Simon Doherty's hurl on its way in and McManus followed with a point before opposite number Conor McAllister had to turn away Mícheál Bradley's low effort.
Nugent landed the resultant 65 before Conor Johnston reduced the gap to the minimum as he emerged from a ruck to point.
St John's then regained the lead, Domhnall Nugent claiming a high ball and batting it downwards at McAllister. The 'Dall goalkeeper turned the ball away, only for Peter McCallin to sweep it to the net behind him.
Two more Nugent frees opened a four-point gap and although McManus replied with a free, Ryan McNulty landed a huge score for the Johnnies to preserve the deficit.
Ruairí Óg then found themselves reduced to 14 men as Joe McCurry saw red for a strike on Mícheál Bradley in front of the St John's dugout. The resulting scuffle also saw Naomh Eoin substitute Aaron Bradley red-carded.
The half ended with Naomh Eoin having a goal disallowed, Shea Shannon judged to have been inside the square as he tapped home the rebound from Sean Wilson's effort.
Ruairí Óg sprung Ryan McCambridge from the bench at the break while Ryan McNulty's injury saw him replaced by Danann McKeogh for Naomh Eoin and it was the North Antrim side who started brighter, frees from Neil McManus and goalkeeper Conor McAllister leaving just three between them.
Cushendall then levelled matters, the Naomh Eoin defence failing to deal with a long ball and allowing Alex Delargy to pull into an empty net.
Michail Dudley slotted St John's back in front but the joy was short-lived as another defensive mix-up in their defence saw Fergus McCambridge scramble the ball home to leave two between the teams.
Two more Nugent frees drew the Belfast side level once again on 41 minutes and the St John's forward traded scores with Neil McManus before the latter fired over a free from 40 yards to edge Cushendall in front.
Nugent tapped Naomh Eoin level again, but Niall McCormick intercepted a poor clearance to shoot his team back in front before Paddy McGill doubled the deficit in the 57th minute.
A further Nugent free left the minimum between them but injury time points from McGill and a Neil McManus brace saw the Glens men set up a repeat of the 2017 Final against Cúchullain's Dunloy next weekend.
Ruairí Óg: Conor McAllister (0-01), Martin Burke, Paddy Burke, Joe McCurry, Fred McCurry, Eoghan Campbell, Stephen Walsh, Sean Delargy, Scott Walsh, Neil McManus (0-02, 0-02 - 65, 0-04f), Cormac McClafferty, Niall McCormick (1-01), Fergus McCambridge (1-00), Paddy McGill (0-02), Alex Delargy (1-01).
Subs: Ryan McCambridge for Cormac McClafferty HT, Ed McQuillan for Scott Walsh 44', Christy McNaughton for Ryan McCambridge 49 - Temp. Sub, Christy McNaughton for Sean Delargy 53'.
Naomh Eoin: Simon Doherty, Aidan McMahon, Ryan McNulty, Jack Bohill, Stephen Tierney, Ciaran Johnston, Conal Morgan, Shea Shannon, Peter McCallin (1-00), Michail Dudley (0-01), Sean Wilson, Pádraig Nugent (1-00, 0-09f), Domhnall Nugent, Mícheál Bradley, Conor Johnston (0-01).
Subs: Danann McKeogh for Ryan McNulty HT, Gerard Cunningham for Peter McCallin 37', Conall Bohill for Michail Dudley 55'.
Referee: Colm McDonald - Naomh Gall
Man of the Match: Stephen Walsh - Ruairí Óg