Sectarian violence is spreading across northern India, despite an army-enforced curfew put in place after deadly weekend clashes between Hindus and Muslims.

Gunfire and street battles that erupted on Saturday in villages around Muzaffarnagar in Uttar Pradesh state have killed at least 28 people and left many more missing, police said. Soldiers in the region have been given orders to shoot rioters on sight, state government official Kamal Saxena said.

By Monday morning, police had arrested 90 people after violence spread to the neighbouring districts of Shamli and Meerut overnight.

Dozens of rioters attacked soldiers who were evacuating people on Sunday night from the riot-torn village of Wazidpur, Saxena said. Troops responded by opening fire on the rioters but no one was hit, he added.

The violence began on Saturday night after a meeting of thousands of Hindu farmers called for justice over the killing of three young men from Kawal village who had objected when a woman was being verbally harassed. Officials said some of the farmers had given hate-filled speeches against Muslims at the meeting.

Clashes with Muslims broke out after the meeting, with many people carrying guns, swords and knives, senior police officer Arun Kumar said.

Rumours spread by mobile phones and social media were fuelling the violence and making it difficult for soldiers to restore calm, state police inspector Ashish Gupta said.

Shops and schools were closed on Monday in Muzaffarnagar, about 78 miles (125km) north of New Delhi. Soldiers were searching homes for weapons.

A state of alert has been declared for Uttar Pradesh, a state of 200 million people where the 1992 razing of a 16th-century mosque by a Hindu mob in Ayodhya sparked India's worst sectarian clashes.

The central government warned that 451 incidents had been reported this year, compared with 410 for all of 2012. Home minister Sushilkumar Shinde said tensions were expected to escalate further in the runup to next year's national elections, and urged India's 28 states to remain on high alert.