Diventa professionista nel 2001, ma la sua carriera non decolla e rimane sempre oltre la duecentesima posizione fino al 2009, quando, grazie a tre titoli conquistati nei tornei Futures e due nei Challenger, a cui si aggiungono altre quattro finali, chiude la stagione a ridosso delle prime 100 posizioni del ranking. Nel 2010, a quasi trenta anni, comincia così a partecipare a tornei ATP. Perde al secondo turno a Chennai e agli Australian Open, ma nella prima settimana di febbraio raggiunge quella che sarà l'unica finale ATP in carriera a Johannesburg, e viene sconfitto in due set da Feliciano López. Due settimane dopo vince il Challenger di Tangeri e sale così alla 61ª posizione mondiale.
Nel gennaio 2014 riesce ad arrivare, da lucky loser, fino agli ottavi di finale degli Australian Open. Nel corso del torneo batte nell'ordine Aljaž Bedene, Michał Przysiężny e Martin Kližan e viene eliminato da Andy Murray. Dopo aver giocato a Wimbledon è costretto a chiudere la stagione per un infortunio alla gamba,[2] e ad agosto esce dalla top 100. Torna a giocare nel gennaio 2015, nella prima parte della stagione non consegue risultati di rilievo e a maggio crolla al 558º posto del ranking. Inizia la risalita superando le qualificazioni al Roland Garros, dove viene eliminato al primo turno del main draw. Ottiene altri buoni risultati e grazie alla finale raggiunta nel Challenger di Hua Hin chiude la stagione a ridosso della top 200.
Continua a risalire in classifica a inizio 2016 raggiungendo il terzo turno agli Australian Open e a febbraio torna dopo tre anni a vincere un torneo al Challenger di Nuova Delhi. Perde la finale al successivo Challenger di Guadalajara e a maggio rientra nella top 100 con i secondi turni raggiunti all'ATP dell'Estoril e agli Internazionali d'Italia. Si spinge fino al secondo turno anche al Roland Garros grazie al successo sul nº 20 ATP Kevin Anderson. Dopo la finale disputata al Challenger TK Sparta Praga Challenger e il secondo turno al torneo ATP di Nottingham, raggiunge la semifinale al prestigioso torneo di Amburgo e viene sconfitto da Martin Kližan. A ottobre raggiunge la semifinale anche all'ATP di Mosca, risultato con cui sale al 50º posto mondiale che rimarrà il suo best ranking in carriera.
Tra la fine del 2016 e il settembre del 2017 subisce una serie quasi ininterrotta di sconfitte, a maggio esce definitivamente dalla top 100 e a settembre scende al 276º posto mondiale. Argina la discesa nel ranking con la finale raggiunta in settembre al Challenger di Smirne e il titolo vinto in novembre al Kobe Challenger. Nel gennaio 2018 vince il suo ultimo titolo Challenger in carriera al Burnie International e rientra nella top 200. Nel corso della stagione disputa la semifinale al Challenger di Blois, raggiunge il secondo turno a Wimbledon e supera le qualificazioni all'ATP di Anversa.
Il risultato migliore del 2019 è un quarto di finale disputato nel circuito Challenger e nel ranking scende fino alla 720ª posizione in novembre. Nel gennaio 2020 partecipa per l'ultima volta ad un torneo ATP ad Adelaide grazie al ripescaggio come lucky loser dopo aver perso dal nº 91 del ranking Lloyd Harris al secondo turno di qualificazioni ed esce al primo turno del tabellone principale. Le sue apparizioni nel periodo successivo diventano rare, nell'aprile 2022 esce dal ranking sia in singolare che in doppio avendo disputato senza successo solo le qualificazioni in tre tornei Challenger dopo il torneo di Adelaide 2020.