I would predictably be the first here. Bengali is my MT, Hindi the adopted MT and therefore also Urdu which is not really that different. Linguistically, India can be separated into the Southern (Dravidian) group and the Northern group that comes directly within the Indo European family. The Dravidian languages are much older and quite different from the IE family languages. Tamil is perhaps the oldest, and Malayalam is somewhat similar. Likewise Telugu and Kannada are similar. There is even a fair amount of mutual intelligibility between these pairs but not necessarily between them. All of them also have a ton of Sanskrit loanwords.
A similar case applies to the eastern language cluster, technically in IE family including Bengali, Assamese and Odia. However, there are significant other influences like Tibeto Burman and the local tribes (<em>adivasis</em>) such as Santhali, and in case of Odia it's from Telugu (neighboring states).
Where north and northwest India are concerned, Hindi has many dialectic forms but the standard version is what I mean, and this includes Urdu. These are pretty close to Punjabi and Haryanvi, though most would say the latter a hybrid of Hindi and Punjabi. One can also understand fair bits of Marathi and Gujarati, and Rajasthani is yet another variant of Hindi. There are other hybrid classes such as Konkani (spoken across much of the west coast) which has similarities to both Marathi and Kannada, Malwani which is similar and Tulu, which is rather different.
This still leaves out many, like the ancient tribal (<em>adivasi</em>) languages found in my region: Santhali, Mundari, Ho and Kurukh (Oraon), and also the kaleidoscope of Tibeto Burman languages that prevail in north east India: the Khasi, Garo, Mizo, Nagamese and Manipuri variants. These are all isolates unrelated to IE or Dravidian, with intelligibility only for their own or related speakers. Broadly speaking, there is little cross intelligibility between the various groups that I describe.