The city of Salem is surrounded by hills on all sides viz. Nagaramalai to the north, Jarugumalai to the south, Kanjamalai to the west, Godumalai to the east and the Shevaroy Hills to the north east. The Kariyaperumal Hill is situated within the city to the southwest. The Thirumanimuthar river flows through the city, dividing it into 2 parts. The fort area is the oldest part of the town. Salem local planning area extends up to 100 km (39 sq mi) within the city.
Salem in general is characterised with scanty rainfall and a dry climate. Salem has moderate-dry weather throughout except during the monsoon season. Generally the first two months of the year are pleasant, but in March, the mercury gains an upward trend which persists till the end of May. The highest temperature is normally recorded during May. The scanty showers during this period do not provide any relief from the oppressive heat. There is a light improvement in the climate during June–July period. During this pre-monsoon period, the mercury reverses its trend and by August, the sky gets overcast heavily but the rains are meagre. the north-east monsoon sets in vigorously only during September–November and by December, the rains disappear rendering the climate clear but pleasant