Tidligere på kvelden vant Frankrike (toppet Norges gruppe) med samme sifre over Egypt.
Danmark sendte Norge ut av turneringen i kvartfinalen. Mikkel Hansen scoret i åpent spansk mål to ganger i førsteomgangen på vei mot 14-10-ledelse.
Hansen var som vanlig den store dirigenten, og han styrte laget sitt trygt gjennom 2. omgang til seier. Spanias aldrende lag (33,7 år i snitt for utespillerne) ga seg aldri og var oppe på 21-22 og 22-23.
Hansen scoret 12 mål på 16 skudd og var nest sist på en rekke scoringer.
Den danske keeperen Niklas Landin ble svært avgjørende med sine redninger i sluttfasen.
Danmark vant VM i 2019 og gjentok bedriften i januar.
Frankrike spiller lørdag OL-finale for fjerde gang på like mange sommerleker siden 2008. For fem år siden vant Danmark 28-26 og tok gullet.
[ Frankrike klar for sin fjerde strake OL-finale i håndball etter seier over Egypt ]