Mediauppspelning stöds inte på den här enheten
Den 21-årige var femte med 250 meter kvar innan powering genom för att vinna en tid av tre minuter 31.447 sekunder.
Tjeckiens Josef Dostal tog silver i 3:32.145, och Rysslands romerska Anosjkin vann brons i 3:33.363.
Walz har en engelsk far och en tysk mor, men växte upp i Mallorca, Spanien.
Ta reda på hur du kommer in på kanotpaddling med vår specialguide.
Prenumerera på BBC Sport nyhetsbrev för att få vårt tips på nyheter, funktioner och video skickas till din inkorg.
Oxford-född spanjor Marcus Walz producerade en anmärkningsvärd finish för att ta den olympiska kajaken 1000m titel på Lagoa Stadium.