O'Neill speelde tussen 2008 en 2012 in zijn geboorteland namens Brisbane Athletic. Op zestienjarige leeftijd verhuisde hij met zijn familie naar Engeland om zijn droom om profvoetballer te worden na te jagen.[3][4]
In 2014 kwam hij in de jeugdopleiding van Burnley terecht. Bij de club tekende hij op 12 januari 2016 zijn eerste professionele contact.[5] In juli 2016 verlengde de middenvelder zijn contract tot medio 2019.[6] O'Neill maakte op 20 augustus 2016 zijn debuut in het eerste elftal in de met 2−0 gewonnen thuiswedstrijd tegen Liverpool. Hij verving in blessuretijd Andre Gray.[7] Een paar dagen later startte de middenvelder voor het eerst in de basis, in de met 1−0 verloren wedstrijd om de League Cup tegen Accrington Stanley.[8]
In januari 2017 werd hij voor de rest van het seizoen verhuurd aan Oldham Athletic, uitkomend in de League One. Hij maakte in totaal vijftien optredens voor The Latics. In augustus 2017 werd O'Neill voor één seizoen verhuurd aan Fleetwood Town, eveneens uitkomend in de League One.[9] In januari 2018 keerde hij vervroegd terug naar Burnley.[10]
In augustus 2018 keerde hij terug naar Australië. Hij werd door Burnley voor het restant van het seizoen verhuurd aan Central Coast Mariners.[11] Gedurende het seizoen 2019/20 werd hij verhuurd aan Brisbane Roar.
Tijdens zijn verhuurperiode's speelde O'Neill zich in de kijker van verschillende Australische clubs. Hij besloot een contract te tekenen bij Melbourne City. In zijn eerste seizoen werd O'Neill met de ploeg voor de eerste keer in de clubgeschiedenis landskampioen. In de finale tegen Sydney FC gaf hij in blessuretijd een assist voor de 3-1, wat tevens de eindstand was.[12]
Nadat zijn contract afliep, tekende hij medio juni 2023 een vierjarig contract bij Standard Luik.[13]