Machalpur is a town and a nagar parishad in Rajgarh district in the Indian state of Madhya Pradesh.
Machalpur is located at . It has an average elevation of 389 metres (1,276 feet).
As of the 2011 Census of India, Machalpur had a population of 9,476. Males constitute 52% of the population and females 48%. Machalpur has an average literacy rate of 53%, lower than the national average of 59.5%: male literacy is 67%, and female literacy is 39%. In Machalpur, 17% of the population is under 6 years of age. it is near the border of Madhya Pradesh and Rajasthan where a mix of the Rajasthani and Malvi language is spoken.