Hadnagy a debutat în 1998 ca jucător al formației Oltul Sfântu Gheorghe, unde a jucat până în 2004. Apoi, a semnat cu Petrolul Ploiești, echipă aflată în Liga a II-a, un contract de trei sezoane. În vara lui 2006, au existat oferte pentru el din partea unor cluburi din Liga I, dar auzind că FC Brașov este interesată de el, s-a decis să joace pentru ei în Liga a II-a. În sezonul 2007-2008, Hadnagy a fost golgheterul diviziei secunde, reușind să promoveze cu formația brașoveană în prima divizie. A debutat în Liga I la data de 26 iulie 2008, într-un meci câștigat împotriva Unirii Urziceni cu scorul de 1-0. A rămas la stegari până în 2012, când a devenit liber de contract, interval în care a strâns 106 meciuri și a marcat 10 goluri în Liga I pentru FC Brașov. La începutul lui 2013, a semnat un contract de 6 luni cu FC Botoșani, pe care a ajutat-o să promoveze, în premieră, în Liga I, marcând 5 goluri în 9 meciuri disputate în eșalonul secund. După promovare, Hadnagy și-a reînnoit contractul cu clubul botoșănean. A reușit să marcheze un gol împotriva fostei sale echipe în meciul FC Botoșani-FC Brașov, care s-a terminat 2-1.
După retragere
A jucat ultimul său meci pentru Sepsi Sfântu Gheorghe contra echipei FCSB în mai 2019, la 38 de ani și 8 luni, fiind la acea dată cel mai vârstnic jucător din Liga I. După retragere, a preluat funcția de director general al lui Sepsi.[2]