Officials said two people were injured in the clashes late on Saturday night. Witnesses put the number at more than 50.
Saturday's clashes began after authorities demolished a row of shops near a mosque, angering Muslims, to widen a road ahead of a Hindu fair held every 12 years.
Inspector General of police Sarabjeet Singh said the curfew was imposed in Ujjain town on Sunday, 350km from state capital Bhopal, to prevent a major flare-up.
The situation was tense but fully under control, with police deployed in all sensitive areas, he said.
One officer said police tried to disperse protesters near the mosque by using water cannons, batons and tear gas.
"Suddenly, Hindus and Muslims started pelting stones at each other," the officer said, adding that municipal authorities had demolished the shops as they were illegally constructed on government land.
Muslims make up 12% of India's billion-plus population.