Shannon led 12-7 at half-time but went behind 15-16 after replacement Brian O'Meara kicked three second half penalties.
When Shannon worked their way into the Con 22 in the moments leading up to the crucial try it was only the second time in the course of the second half that they manged to gain a foothold in that part of the field. However, they made the most of their visit with the try coming from Keogh who had made such a good impression since being introduced to the action in the 65th minute.
Shannon were quick out of the blocks with two Tommy Cregan penalties in the first and sixth minutes giving them a six point lead.
Conrad O'Sullivan missed a relatively easy penalty before Cronon Healy's 19th minute try under the posts made the conversion a formality.
That lead lasted all of four minutes until Cregan landed a sweet drop goal and he extended Shannon's lead still further with another penalty in the 38th minute. However the normally reliable Cregan was wide with an injury time effort to bring his total to three from six to leave just five points (12-7) separating the sides at the break.
Cork Constitution. A Horgan; D Dillon, R O'Donovan, J V Igarza, C Healy; C O'Sullivan (B O'Meara 41 mins), T O'Leary; G Murray, D Murray D Fogarty 59 min), M Ross; K Coughlan (C O'Keeffe 59 mins), S O'Connor; D Pusey, J Murray, B O'Connor (P Twomey 83 mins).
Shannon: J Lacey, T Cregan, B Touhy, E Cahill, M Lawlor (I Dowling 79 mins); A Thompson, F O'Loughlin; F Roche, J Flannery, G McNamara (T Buckley); T Hayes, T Hogan; C McMahon, J O'Connor (S Keogh 65 mins), E Halvey.
In the Division Two final, a penalty try, conversion and injury time drop-goal from replacement out-half, Pierre Lazies secured the trophy for Dublin University after a highly entertaining match.
UL Bohemians made the most of their first half dominance to carve out a 15-3 interval lead. It really should have been closer however because when Trinity mounted an attack in the closing moments of the half they really should have scored a try. Bohs were quite happy to give away the penalty which Keelan McGowan converted.
Earlier, tries from Barry Murphy and Phillip Treacy had the Limerick side in a commanding lead but the gap was narrowed at the start of the second half when wing Phil Howard made headway down the right wing, chipped over the defence and easily outstripped the cover to win the race for the touchdown. McGowan struck a sweet conversion to leave five points separating the sides (15-10). The deficit was reduced further when McGowan landed a 50th minute penalty but Bohs stretched their lead when Breffni O'Donnell scored a well taken try under the posts from the restart. That try converted by Cathal Garvey looked good enough to secure victory for the Limerick side until Trinity staged their late rally to snatch the spoils.
The Division Three decider was won by Greystones 18-11 after they had led 6-5 at half time.