The Indian navy and coast guard captured 16 Somali pirates and rescued 16 hostages after a three-hour running battle in the Arabian Sea, according to media reports.