Teheran ligger på et høyfjellsplatå ved sørskråningen av Elburzfjellene og med ørken sør for byen. Nord for byen ligger Midtøstens høyeste fjell, Damavand, som er over 5600 meter høyt og synlig fra byen på klare dager. Fjellene nord for byen er ofte snødekte. Byens gjennomsnittshøyde over havet er rundt 1500 meter. I nord-sør-retningen har byen en utstrekning på rundt 30 km. Klimaet er varmt og tørt.