Het speerwerpen voor de mannen op de Olympische Zomerspelen 2016 vond plaats op woensdag 17 en zaterdag 20 augustus 2016. Regerend olympisch kampioen was Keshorn Walcott uit Trinidad en Tobago, die zijn titel in Rio de Janeiro verdedigde, maar derde werd. De wedstrijd bestond uit een kwalificatieronde, waar atleten in drie pogingen bij de beste twaalf deelnemers moesten komen om een plaats in de finale af te dwingen. De kwalificatie-eis was een afstand van 83,00 meter; dat werd gehaald door negen atleten, waardoor de drie besten onder die afstand zich eveneens kwalificeerden voor de eindstrijd. In de finale kreeg iedere speerwerper opnieuw zes pogingen, waarbij de vier minst presterende finalisten na de derde poging afvielen. De Duitser Thomas Röhler won het goud met een worp van 90,30 meter, bijna één meter verder dan de nummer twee, Julius Yego uit Kenia.
Een X in onderstaand overzicht duidt op een ongeldige stoot.