By Agence France-Presse
The demonstrators had gathered in the town of Beerwah after senior separatist leaders called for a strike against Indian rule.
Soldiers opened fire after mistaking a firecracker for a grenade explosion, police said.
"Someone among these miscreants (protesters) ... hurled a firecracker towards the army men. Because of the bang the army men thought a grenade was hurled and they retaliated," the statement said.
Authorities have imposed a curfew in parts of the main city of Srinagar where separatists had called for a march to the office of a UN military observer group to protest against recent civilian killings and arrest of dozens of political activists.
Kashmir has been divided between India and Pakistan since the end of British rule in 1947, but both claim the Himalayan territory in full.
For decades rebel groups have fought roughly 500,000 Indian soldiers deployed in the territory, demanding independence or a merger with Pakistan.
Tens of thousands, mostly civilians, have died in the fighting which had subsided in recent years but armed encounters between rebels and government forces have become more frequent since security forces killed a popular rebel commander in July.