The authorities imposed a curfew on the town of Mau after the clashes erupted on Friday, but violence continued on Saturday in some areas, said Alok Sinha, a senior Home Ministry official in the state of Uttar Pradesh.
The fights began after Muslim residents objected to the staging of a Hindu religious ceremony in a Muslim-dominated area.
That angered many Hindus, who tried to stop the Muslims from using loudspeakers during Friday prayers, and the clashes followed, Sinha said.
Both groups threw stones at each other and used iron rods, knives and other sharp-edged weapons as they fought for nearly two hours, Sinha said.
Two people died in the fighting and a third was killed when police fired bullets to disperse the mob, he said.
Twenty-eight others were injured, four of them seriously.
"The majority of them have been stabbed. Four of them are in serious condition," said Kundan Singh, chief medical officer of Mau.
Some rioters had burned shops in one area, Sinha said, but gave no other details.
Mau is about 300km southeast of Lucknow, the capital of India's most populous state, Uttar Pradesh.