The government of India officially recognizes 18 languages. But, almost each of these 18 languages, include different dialects or variations of that language. Besides these 18 languages, there are other languages which are recognized by the central government, but not as official languages.
The Indian languages belong to four language families: Indo-European, Dravidian, Mon-Khmer, and Sino-Tibetan. Indo-European and Dravidian languages are used by a large majority of India's population. The language families divide roughly into geographic groups. Languages of the Indo-European group are spoken mainly in northern and central regions.
The languages of southern India are mainly of the Dravidian group. Some ethnic groups in Assam and other parts of eastern India speak languages of the Mon-Khmer group. People in the northern Himalayan region and near the Burmese border speak Sino-Tibetan languages.
Speakers of 54 different languages of the Indo-European family make up about three-quarters of India's population. Twenty Dravidian languages are spoken by nearly a quarter of the people. Speakers of 20 Mon-Khmer languages and 98 Sino-Tibetan languages together make up about 2 per cent of the population.
This site has a very detailed listing of all the Indian languages with links on learning some of them