Cresciuto nelle giovanili del Vllaznia, fa il suo debutto in prima squadra nel 2003, collezionando alla sua prima stagione da professionista 2 presenze. Dopo 3 stagioni trascorse con la maglia rossoblù, collezionando 55 presenze e 30 gol nella Kategoria Superiore, nel 2005 viene ceduto all'estero.
Paniōnios
Il 1º gennaio 2005 viene acquistato a titolo definitivo dalla squadra greca del Paniōnios per 500.000 euro. Dopo una sola stagione e dopo sole 6 presenze senza nessun gol, lascia la Grecia e fa ritorno nuovamente in Albania.
Tirana
Il 1º gennaio 2006 viene acquistato dal Tirana, dove gioca per una stagione e mezza, qui vince anche la classifica capocannonieri nella stagione 2005-2006 con ben 29 reti e viste le buone prestazioni e i tanti gol messi a segno viene notato da diverse squadre all'estero.
Ried e Rapid Vienna
Hamdi Salihi ai tempi del Ried.
Il 1º gennaio 2007 viene acquistato per 30.000 euro dalla squadra austriaca del Ried. In Austria comincia subito bene, alla sua prima stagione colleziona 15 presenze e 6 gol. In totale ha giocato per 3 stagioni col Reid, con 90 presenze e ben 38 gol segnati. Il 31 agosto 2009 cambia squadra rimanendo sempre in Austria e viene acquistato dal Rapid Vienna per 600.000 euro. Anche qui gioca e segna tanto, saranno 53 gol in 90 presenze alla fine della sua esperienza col Rapid Vienna.
D.C. United
Il 23 febbraio 2012 cambia nuovamente squadra e nazione, andando a giocare nel D.C. United, squadra della Major League Soccer negli Stati Uniti, che lo acquista per 400.000 euro. Qui rimane una sola stagione collezionando in totale 27 presenze con 7 gol segnati.
Jiangsu Sainty
Il 4 febbraio 2013 passa allo Jiangsu Sainty in Cina, dove colleziona in una stagione tra campionato, coppe nazionali e coppe intercontinentali, 36 presenze e 12 gol.
Hapoel Akko ed Hapoel Haifa
Il 1º febbraio 2014 cambia ancora squadra ed ancora una nazione diversa, perché passa all'Hapoel Akko, squadra militante nella massima serie del campionato israeliano. Il 3 febbraio 2015 passa all'Hapoel Haifa, sempre in Israele.
Skënderbeu
L'8 luglio 2015 fa il suo ritorno in Albania nelle file dello Skënderbeu, dove gioca per 2 stagioni, qui vince anche la classifica capocannonieri nella stagione 2015-2016 con ben 27 reti. In 2 stagioni colleziona ben 80 presenze e 51 gol tra campionato, coppe nazionali e coppe europee.
Wiener Neustadt
Il 21 luglio 2017 viene acquistato a titolo definitivo dalla squadra austriaca dell'Wiener Neustadt, facendo così ritorno in Austria.
Nazionale
Dopo aver giocato nelle varie Nazionali giovanili albanesi, ha debuttato con la maglia della Nazionale maggiore albanese il 22 marzo 2006 nella partita amichevole contro la Georgia, subentrando al minuto 85, match conclusosi poi sullo 0-0.
Il 22 agosto 2007 segna il suo primo gol con l'Albania nell'amichevole contro Malta, partita che è terminata con la vittoria degli albanesi per 3-0.