Im Alter von 10 Jahren trat er der Gheorghe-Hagi-Fußballakademie bei und debütierte am 5. Dezember 2014 für Viitorul Constanța im Alter von nur 16 Jahren in der Liga I bei einer Heimniederlage gegen den FC Botoșani. Bei seinem ersten Auftritt war sein Vater der Trainer. Am 29. Mai 2015 erzielte Hagi sein erstes Tor als Senior, indem er bei einem 4:4-Unentschieden gegen denselben Gegner einen Treffer beitrug und gleichzeitig zum ersten Mal in der Startelf stand. Im Oktober wurde er von The Guardian als eines der fünfzig besten Talente der Welt bezeichnet, die dem Jahrgang 1998 angehören.[1]
Am 10. Juli 2016 schloss sich Hagi dem AC Florenz für eine Ablösesumme von 2 Mio. Euro an.[2] Am 23. Oktober gab er dort sein Ligadebüt und ersetzte Josip Iličić bei einem 5:3-Auswärtssieg gegen Cagliari Calcio.[3]
Hagi kehrte am 18. Januar 2018 für eine Ablöse von 2 Mio. Euro zu Viitorul Constanța zurück, wobei der AC Florenz einen Anspruch auf 30 Prozent der Ablösesumme im Falle eines Weiterverkaufs hatte.[4][5] Im Alter von 20 Jahren war er bereits Kapitän des Teams.
Im Sommer 2019 wechselte er mit einem Dreijahresvertrag zum belgischen Verein KRC Genk.[6] Ende Januar 2020 wurde er für den Rest der Saison mit anschließender Kaufoption an den schottischen Verein Glasgow Rangers ausgeliehen.[7] Ende Mai 2020 übte Glasgow Rangers die Kaufoption aus, so dass Hagi endgültig den Verein wechselte.[8]
Am 27. August 2023 wechselte Hagi auf Leihbasis für eine Saison zum spanischen Erstligisten Deportivo Alavés.