This is a tricky question! Depending on how you define language and dialect, you get diverse answers. Here are three answers.
1. PLSI. "There are over 780 languages and 66 different scripts in India." Ganesh N Devy, Chairperson of the People's Linguistic Survey of India (PLSI), announced this in press conferences in Kolkata and Guwahati in July 2013. As the report in The Hindu said: "Arunachal Pradesh is the richest among the States with 90 languages.... Researchers found that Assam with 55 languages, Gujarat 48, Maharashtra 39, and West Bengal 38 are among the most linguistically diverse States.... The survey, Dr. Devy said, has revealed that the north-eastern parts of the country have one of the highest per capita language densities in the world." Another report quotes Devy as saying, "While it surely is a fact to celebrate the diversity of the country, the sad part is we have lost nearly 250 languages in the last 50 years or so." More elsewhere on this blog.
2. Ethnologue. "The number of individual languages listed for India is 461. Of these, 447 are living and 14 are extinct. Of the living languages, 75 are institutional, 127 are developing, 178 are vigorous, 55 are in trouble, and 12 are dying." This is how the internet's biggest language-database, Ethnologue, characterizes our languages. A-Pucikwar, Adi, Agariya... when I first saw this list many years ago, it was only the 25th language that I recognized -- Assamese.
3. Census of India. "122 languages" says the 2001 census. But wait -- how do they arrive at this number? Well, the enumerators "recorded faithfully" 6661 mother-tongue names from all over the country. These were then "subjected to thorough linguistic scrutiny, edit and rationalization." This resulted in 1635 "rationalized mother tongues" -- each of which is spoken by at least 10,000 speakers -- and 1957 names "which were treated as 'unclassified' and relegated to 'other' mother tongue category." These 1635 "rationalized mother tongues" were further classified following "the usual linguistic methods for rational grouping". The result was 122 languages.
One result of these reclassifications is that under the language-name Hindi, there are 49 "mother-tongues" (from Awadhi to Surjapuri). Besides, there are also 14.8 million "Others", speaking mother-tongues with 10,000 or fewer speakers. 14.8 million "Others": as Wikipedia tells us, there are about 174 countries and dependent territories with smaller populations than that!