Bohs led early on and were never too worried in spite of a typically resolute Shannon performance.
Darren Moroney touched down an early Bohs try, their dominant scrum earned a penalty try and a conversion, and two penalties by Rick McKenna saw them dominate in the first half.
Shannon managed only a Shane Airey penalty in reply but they quickly got back into the game on the resumption with a Greg O’Shea try converted by Tadgh Bennett.
Mike Lynch for Bohs and Shannon replacement Shane Mullally exchanged tries to leave seven points still separating the sides with 12 minutes remaining.
Bohs again looked safe when an Airey penalty moved them 25-15 ahead only for Shannon to provide them with some anxious closing minutes when a try by Will Leonard, converted by Bennett, narrowed the gap to three points.
S Fitzgerald; D O’Donovan, R Deegan, W Leonard, G O’Shea; S Airey, D Evans; N Horan, S Malone, J Cronin, A Broderick, F Bradshaw-Ryan, O Lyons, J Vaughan, L Nicholas.
J O’Halloran, L O’Halloran, B Downey, T Bennett, S Mullally.
A Rossiter; C Ryan, R Whyte, D Moroney, C Aherne; R McKenna, C Sheridan; P Poillot, K O’Byrne, M Lynch, D Frawley, N Kinnane, J Ryan, I Condell, B Walsh.
J Bennett, P King, J O’Neill, K McManus, R Burke.
F Murphy (IRFU).