19-årige Larsson var blott en hundradel före tvåan Oliver Bromby i det jämna fältet, där fem löpare kom i bredd på slutet. Mellan de fem första skilde sju hundradelar.
– Jag var ganska nervös och kom inte riktigt iväg som jag ville i starten men fick sedan tryck den sista biten, säger Larsson till innerplansspeakern.
Han skrek ut sin glädje efter målgången i solskenet i Gävle.
Vill försvara titeln om två år
Larsson fyller 20 senare i höst och kan ställa upp i samma klass i UEM om två år.
– Jag vill försvara titeln då, säger Larsson till europeiska friidrottsförbundet. Han hade försök på 200 m kvar under kvällen. Larsson sprang in som fyra på 21,28 efter att ha sneglat i sidled under loppet för att ta den sista säkra platsen i heatet till en semifinal.
Larssons personliga rekord lyder på 10,18 från tidigare i sommar. Medvinden var +2,2 m/sek (upp till 2,0 tillåtet).
Guldet är det första svenska genom tiderna på 100 m av en svensk senior eller junior, man eller kvinna. Lennart Strandberg tog EM-brons 1938, Ullevis Emil von Barth tog U20-EM-brons i Eskilstuna 2015 och Henrik själv tog silver i ungdoms-EM 2016, uppger Friidrott.se.
Wictor Petersson tog Sveriges andra medalj genom att bli trea i kula. Han stötte 19,53 och höll den ganska skakiga tredjeplatsen. Storfavoriten Konrad Bukowiecki, Polen, vann på 21,51.