Nato e cresciuto a Liverpool nel Nuovo Galles del Sud da una famiglia di origini irlandesi, O'Donnell ha frequentato la high-school di Ulladulla e successivamente ha debuttato nella National Rugby League nel 1999 con i Balmain Tigers. Nel 2003 mentre giocava per i Wests Tigers, è stato sospeso per ben undici settimane per aver spaccato la mascella a Michael Monaghan, la più lunga sospensione nella storia della National Rugby League. Passato ai North Queensland Cowboys, nonostante alcuni seri infortuni, è subito diventato uno dei giocatori più importanti della squadra e ha raggiunto la NRL Grand Final nel 2005 ed è stato selezionato per giocare nel NRL All-Stars nel 2010. Dopo altre controverse sospensioni per duri falli su Liam Fulton, Bronson Harrison e Darius Boyd, venne nominato giocatore dell'anno dei Cowboys nel 2006 e nel 2009. Dopo aver rifiutato il rinnovo di contratto, un triennale da 660.000 dollari, O'Donnell ha lasciato i Cowboys come il giocatore più sospeso nella storia della NRL, con 29 partite. Dopo un breve periodo giocato in Inghilterra nei Huddersfield Giants della Super League, O'Donnell è tornato in patria dove ha vinto il suo unico campionato della NRL coi Sydney Roosters nel 2013. O'Donnell ha fatto parte della Nazionale di rugby a 13 dell'Australia ed era stato anche pre-convocato per partecipare alla Coppa del Mondo di rugby a 13 2008. O'Donnell è sposato con Tania Moscato e ha due figlie e ha posato nudo per il calendario di beneficenza Gods of Football.