Prodotto del settore giovanile del Bihor Oradea, dove lo inserisce Alexandru Gergelj, ex calciatore del club, viene promosso in prima squadra nel 2002, non ancora sedicenne, e debutta in Liga II, categoria in cui segna 2 gol in 13 partite; ottiene la promozione in Liga I con i compagni di squadra. Il 23 agosto 2003 esordisce nella massima serie rumena, nella partita pareggiata senza reti contro il Petrolul Ploiești.
Nel 2003 viene prelevato dal Nantes, club francese che lo inserisce nella squadra riserve. Nel 2004 viene promosso in prima squadra ed esordisce in Ligue 1. In quattro anni trascorsi nelle file club (uno in Ligue 2 e tre in massima serie) segna 11 reti in 81 partite. Nel 2008 passa in prestito al FC Libourne, club di Ligue 2 con cui segna 11 gol in 17 partite. Nel 2009 passa in prestito al Tours, sempre nella seconda divisione francese, dove segna 7 gol in 12 partite nel 2009-2010. Nel 2010 viene prestato all'Angers, con cui segna 4 reti in 14 partite. Acquistato dall'Angers a titolo definitivo, vi milita sino al 2013, imponendosi come titolare.
Nel 2013 viene ceduto al Bastia, con cui esordisce andando in gol, contro il Tolosa, nella vittoria per 2-1. In Ligue 1 gioca 16 partite e nel gennaio 2014 si trasferisce alla Steaua Bucarest, con cui vince il titolo rumeno e gioca la finale della Coppa di Romania nel 2013-2014. Nel 2014-2015 esordisce in UEFA Champions League, giocando la partita contro l'Aqtóbe pareggiata per 2-2 e valida per il terzo turno preliminare della competizione. Il 15 agosto 2014 segna sei gol nella vittoria per 6-0 contro il Pandurii, stabilendo il record di segnature multiple in una sola gara con la maglia della Steaua, battendo il precedente primato di Constantin Gâlcă (stabilito, con cinque reti, nel 1994). Per la prima volta in ventun'anni un calciatore rumeno segna sei gol in una partita della massima divisione nazionale (non accadeva dal 9 giugno 1993, quando Marian Popa del Farul Costanza segnò cinque gol nella vittoria per 6-3 contro l'Oțelul Galați). Il 18 settembre 2014 marca una tripletta nella partita di Europa League contro l'Aalborg, segnando tre gol nel giro di dodici minuti e realizzando la tripletta più veloce nella storia della competizione.
Nel febbraio 2015 si trasferisce all'Al-Gharafa, club qatariota, con cui firma un contratto di due anni e mezzo,
Nell'agosto 2015 si accasa al Ludogorec, squadra bulgara, con un ingaggio annuo di 700 000 euro, divenendo il calciatore con lo stipendio più alto nella storia del club di Razgrad. Con 15 reti vince il titolo di capocannoniere della massima serie bulgara, vinta con il Ludogorec. Aiuta la squadra a qualificarsi alla fase a gironi della UEFA Champions League, dove esordisce nell'annata 2016-2017. Il 28 ottobre 2016 realizza la sua prima tripletta con la squadra bulgara, in campionato, contro il Dunav Ruse. Con 22 reti diviene il capocannoniere del campionato bulgaro 2016-2017, vinto con il Ludogorec. Con la squadra vince il campionato bulgaro anche nel 2017-2018, annata in cui è nuovamente capocannoniere del torneo (con 26 reti), e nel 2018 realizza il gol della vittoria nella gara che assegna la Supercoppa di Bulgaria. Il 7 ottobre 2018 diviene il calciatore straniero con più triplette realizzate (cinque) nella massima divisione bulgara, segnando tre gol nella sfida vinta per 4-1 sul campo del Botev Vraca. Il 19 settembre 2019 segna tre gol nella vittoria casalinga per 5-1 contro il CSKA Mosca in Europa League. Con il Ludogorec vince il campionato anche nelle stagioni 2018-2019, 2019-2020 e 2020-2021 e due altre volte la Supercoppa di Bulgaria, nel 2019 e nel 2021.
Alla vigilia della stagione 2021-2022 perde il posto da titolare in squadra e rimane fuori rosa in vista della sfida di ritorno del secondo turno preliminare di UEFA Champions League. Decide di lasciare la squadra di Razgrad alla fine di agosto del 2021 per tornare in patria, al FCSB. Il 12 settembre 2021 va in gol al debutto, nel derby vinto per 6-0 contro la Dinamo Bucarest.