Bosnia-Hercegovina er et fjelland, kun åtte prosent av landet ligger lavere enn 150 meter over havet. I vest domineres landskapet av karstfjell (Dinariske alper) som hovedsakelig løper i retning nordvest–sørøst, avbrutt av karakteristiske poljer. I midtre deler ligger det skog- og mineralrike Bosansko rudogorje (Bosniske malmfjell), som i Maglić når opp i 2386 meter over havet. Fjellandet dreneres av Neretva og av Sava med bielvene Una, Vrbas, Bosna og Drina; for karstområdenes vedkommende ved underjordiske elveløp. 42,7 prosent av landet er dekket av skog.
En kupert region danner i nord overgangen mellom fjellandskapet og det fruktbare slettelandet langs Sava. Mot Adriaterhavet finnes en 24,5 kilometer lang kyst med én liten by (Neum), men uten havn.
Bosnia-Hercegovina har middelhavsklima nærmest adriaterhavskysten, mer temperert i innlandet.