Cresciuto calcisticamente nell'Internacional, dove venne acquistato per la bassa cifra di cinquecento dollari dal Paços de Ferreira[3] (squadra di terza divisione brasiliana) nel quale si mette in mostra per la sua eccezionale prolificità in zona gol, infatti segna ben 23 gol in 34 partite, giocando da seconda punta.
Passa in seguito in Francia al Lione per 5 milioni di sterline. Nonostante segni due gol (gli unici) al debutto subentrando a partita in corso, Nilmar non trova molto spazio nel Lione e l'estate successiva torna in Brasile, precisamente nel Corinthians. Il 17 agosto 2007 il tribunale del lavoro annulla il contratto tra Nilmar e il Corinthians per il mancato pagamento della somma al Lione. Il mese successivo, precisamente il 13 settembre, Nilmar torna all'Internacional con cui firma un contratto quadriennale.
Il 25 luglio 2009 viene acquistato per 11 milioni di euro dal Villarreal.[4] In questo periodo ottiene anche la convocazione al Mondiale 2010. Con il Villareal ottiene in 3 stagioni 116 presenze e 34 gol fra tutte le competizioni.
Il 16 luglio 2012 passa ai qatarioti dell'Al-Rayyan[5] dove segna 14 gol in 20 presenze.
Il 31 dicembre 2012 è passato in prestito al Lekhwiya SC, con cui ha giocato una sola partita ufficiale, nella quale ha segnato anche un gol. In seguito è ritornato subito all'Al-Rayyan dove ha segnato altri 2 gol in 15 partite.
Il 25 gennaio 2014 si trasferisce all'Al-Jaish. Il 3 agosto dello stesso anno, dopo sole 3 presenze e 2 gol, rescinde il suo contratto con il club.
Nell'estate 2014 torna di nuovo nel suo primo club in Brasile, l'Internacional, con cui ottiene 15 presenze e 5 gol nel Brasilerao.
Nell'estate seguente invece si trasferisce all'Al-Nasr, negli Emirati Arabi.
La seconda marcatura con la nazionale arriva addirittura cinque anni dopo, il 10 giugno 2009, nella vittoria per 2-1 ai danni del Paraguay.
Viene convocato dal CT Carlos Dunga per la vittoriosa FIFA Confederations Cup 2009 nella quale gioca una partita (durante la fase a gironi vinta per 3-0 contro gli Stati Uniti) e vince la manifestazione.
Viene convocato per il Mondiale 2010 in Sudafrica,[7] in cui gioca 4 delle 5 partite della squadra eliminata ai quarti dai Paesi Bassi, saltando solo la gara con la Costa d'Avorio.
Ha ottenuto in totale dal 2003 al 2011 24 presenze e 9 gol con la nazionale verdeoro.