Zvolen leží na juhu Zvolenskej kotliny, na sútoku riek Hron a Slatina. Je obkolesený sopečnými pohoriami Poľana od východu, Kremnické vrchy od západu a Javorie a Štiavnické vrchy od juhu.
Zvolen je významný dopravný uzol v rámci Slovenska, nakoľko mestom vedie hlavný cestný ťah E77 (Krakov – Budapešť) v severo-južnom a E58 (Bratislava – Košice) v západo-východnom smere. Železničná stanica Zvolen je uzlom tratí z Nových Zámkov, z Krupiny, z Košíc a z Banskej Bystrice. Mesto leží 20 km južne od Banskej Bystrice, 55 km severozápadne od Lučenca, 28 km severne od Krupiny a 24 km východne od Žiaru nad Hronom.