Muove i suoi primi passi nel settore giovanile del Soccer Trani, squadra della sua città natale. Nel 1997 approda nelle giovanili del Bari. Esordisce in Serie A il 22 aprile 2001 in Bologna-Bari (4-2), subentrando al 23' al posto dell'infortunato Attilio Gregori.[4] Termina l'annata – conclusa con la retrocessione dei galletti – con 6 presenze e 11 reti al passivo.
La stagione seguente la Triestina ne rileva in prestito il cartellino. A gennaio passa in prestito al Gubbio. Esordisce con gli eugubini il 28 aprile 2002 contro il San Marino.[5] Nel 2003 passa al Martina, dove resta tre anni, prima di essere acquistato dal Modena. Esordisce in Serie B il 12 marzo 2006 in Verona-Modena (1-1).[6]
Il 27 agosto 2008 passa in prestito con diritto di riscatto all'AlbinoLeffe.[7] Terminato il prestito rientra al Modena.[8] Complice anche il trasferimento di Giorgio Frezzolini all'Ascoli[9], diventa il portiere titolare della rosa.
Il 6 luglio 2010 si trasferisce a titolo definitivo al Grosseto, in Serie B.[10] Esordisce con i maremmani il 15 agosto in Grosseto-Gubbio (5-0), partita valida per il secondo turno di Coppa Italia.[11] Il 22 ottobre viene operato al ginocchio destro per un intervento di artroscopia.[12] Partito titolare anche la stagione successiva[13], nel 2012 perde inizialmente il posto a favore di Sergio Viotti. Rientra tra i pali – a causa di un infortunio di quest'ultimo[14] – il 23 aprile contro il Varese, risultando più volte provvidenziale nel difendere il risultato.[15] A fine stagione rimane svincolato.[16]
Il 3 settembre 2013 firma un contratto annuale con il Foggia, in Lega Pro Seconda Divisione.[17] Il 29 agosto 2015 rinnova il proprio contratto fino al 2018.[18] Il 31 agosto 2016 passa in prestito al Gubbio, in Lega Pro.[19] Il 31 gennaio 2017 viene ceduto a titolo temporaneo al Teramo.[20] Il 15 luglio 2017 passa in prestito alla Sicula Leonzio, in Serie C.[21] Il 18 luglio 2018 viene acquistato a titolo definitivo dalla società bianconera.[22]
Nel 2019 torna al Modena, ripescato in Serie C[23], per fare da chioccia ai portieri più giovani.[24][25] Con i canarini nel 2022 vince il campionato e la Supercoppa di Serie C.[26][27] L'11 luglio 2022 rinnova l'accordo con il Modena fino al 2024[28], ritirandosi però dal calcio giocato nel giugno 2023.
Subito dopo il termine della carriera da giocatore chiusa nel Modena, nella stagione seguente rimane nella squadra emiliana in qualità di preparatore dei portieri e successivamente di collaboratore tecnico.
Calcioscommesse
Coinvolto con altri calciatori nello scandalo del Calcioscommesse 2011, il 16 febbraio 2012 viene indagato dalla procura di Cremona[31], mentre il 9 maggio 2012 viene deferito procuratore della FIGC.[32] Il 31 maggio 2012 viene accolta la sua istanza di patteggiamento venendo squalificato per 1 anno e 3 mesi.[33]
Dopo l'apertura di altri filoni d'inchiesta, viene nuovamente indagato dalla procura di Cremona il 17 luglio 2013[34] e il 9 febbraio 2015[35] quando, terminate le indagini, viene accusato di frode sportiva.[35] Il 21 ottobre 2015[36] e il 19 febbraio 2016[37] è rinviato a giudizio.