Viene convocato per le Olimpiadi di Rio de Janeiro 2016: per Neymar è la seconda Olimpiade dopo l'argento conquistato a Londra 2012, e questa volta è il capitano della squadra. Nelle prime due partite il Brasile pareggia 0-0 sia con il Sudafrica che con l'Iraq, e Neymar inizia ad essere criticato dai tifosi. Nell'ultima partita della fase a gironi, la nazionale verdeoro batte nettamente la Danimarca (4-0) e accede ai quarti, superando il proprio gruppo da imbattuta. Il Brasile affronta la Colombia ai quarti di finale, vincendo 2-0: Neymar sigla la prima rete del match. In semifinale realizza una doppietta contro l'Honduras, marcando il primo (e il più veloce nella storia delle olimpiadi, dopo soli 15 secondi) e l'ultimo gol dell'incontro nel 6-0 finale. In finale il Brasile affronta la Germania: Neymar porta in vantaggio i suoi su punizione, ma i tedeschi pareggiano; si va ai calci di rigore, dove Neymar s'incarica dell'ultimo tiro dagli undici metri, realizzandolo e consegnando al Brasile il primo oro olimpico nella sua storia.