The missile, named Akash which means Sky in Hindi, was fired from a mobile launcher at 12:30 pm (0700 GMT) at the Chandipur-on-Sea testing site, 200 kilometres (125 miles) northeast of Orissa state capital Bhubaneswar.
"It successfully hit the target" attached to a pilotless target aircraft, one source said.
The 700-kilogram (318-pounds) Akash can carry a 60-kilogram (27.2 pounds) warhead and is designed to travel 27 kilometres (17 miles).
It can strike several targets simultaneously.
Akash is one of five missiles which are at different stages of development by Indias state-run Defence Research and Development Organisation.