Crescent struck back with a try from Lemeki Vaipulu, but second half touchdowns from O'Donnell, Michael O'Hea and Noel O'Sullivan saw the hosts, who are now eighth in the table, canter home.
Ahead of their Colours match against UCD on March 4, Dublin University rose to sixth place off the back of an 8-5 victory away to Highfield.
The Tony Smeeth-coached students struck for an early try, with hooker Mark Murdoch dashing over from 20 metres following a well-worked lineout move. A penalty from out-half Dave Joyce made it 8-0 for the break.
However, Trinity's accuracy deserted them in the second half and unforced errors, including taking the wrong option when presented with kickable chances, saw it remain a tight game.
They missed four penalty attempts and after a sticky opening period, their Cork hosts sprung into life. Roared on by the Woodleigh Park faithful, Highfield scored a try midway through the second half, with Joey Sheahan emerging with the ball.
At the wrong end of the table, Highfield are scrapping for their lives and they put in a monumental effort in search of the winning score. But with luck on their side at last, Trinity held on with a last-gasp drop goal attempt from the hosts sailing wide of the uprights.
Elsewhere, Dublin sides Lansdowne, Terenure College and De La Salle Palmerston all scored wins.
Eoin Sheriff, Brian O'Riordan and Kieran Lewis all impressed as table toppers Lansdowne gained their eleventh successive league win, beating Greystones 52-13 at Dr. Hickey Park.
Terenure, who have two games in hand and could yet force their way into the play-off reckoning, showed their battling qualities as they got the better of Bective on a 21-16 scoreline at Donnybrook, while a free-scoring clash at Kirwan Park went DLSP's way when they overcame UCD 30-20.
'Salmo's third win in four league games keeps them in second place, just a point ahead of Bruff.
Related Links -