Los elefantes indios son mega-herbívoros y consumen una amplia variedad de pastos, arbustos, tallos de árboles, vides, corteza y raíces. El tipo y las proporciones de las plantas que consumen dependen de la estación y su hábitat específico.
Debido a que la población de elefantes indios se extiende sobre una amplia área del subcontinente indio y el sudeste asiático, sus hábitats incluyen pastizales, bosques caducifolios secos y húmedos, bosques de espinas secos y bosques tropicales siempreverdes y semi-siempre verdes. Los alimentos vegetales varían en cada lugar. Por ejemplo, en el sur de la India, los elefantes se alimentan de pasto alto, bambú, palmera, juncia, la corteza de la espina blanca y otros árboles, y frutas como tamarindos, dátiles y manzanas de madera. En Nepal y Assam, el pasto inundable constituye una gran parte de la dieta del elefante.
Los elefantes indios adultos consumen más de 300 libras de alimentos por día, y pasan de 14 a 19 horas al día alimentándose. Digieren alrededor del 45 por ciento de su comida, y el resto es expulsado. Para consumir hierba alta y fresca, desarraigan los paquetes, quitan el polvo de las cuchillas, comen las partes superiores y desechan las raíces. Más adelante en la temporada, cuando las copas son demasiado fibrosas, las evitan y consumen las porciones más bajas y las raíces. Utilizan sus troncos para romper las hojas y las ramas de arbustos, sin irritarse por las posibles espinas. Para alimentarse de la corteza de ramas grandes, rompen una rama y la giran en su boca para que la corteza se raspe con los dientes.