La rivière prend sa source dans un glacier appelé Gangotri Glacier, qui se trouve dans la région du Garhwal, dans l'Himalaya. Le Gange traverse le nord de l'Inde et se termine dans le golfe du Bengale, dans l'est de l'Inde. Son débit total est de 3 877 km, ce qui en fait l'un des plus longs fleuves du monde. Son bassin versant s'étend sur 907 000 km². Les principaux fleuves qui se jettent dans le Gange sont le Brahmapoutre, le Gomti, le Kosi, le Gandak, le Ghaghra, le Yamuna et le Son.
Le Gange ne coule que sur 200 km à travers l'Himalaya. Le fleuve touche des terres de plaine dans la région de Rishikesh près de Haridwar en Uttarakhand. Il traverse ensuite les villes de Kanpur, Soron, Kannauj, Allahabad, Varanasi, Patna, Ghazipur, Bhagalpur, Mirzapur, Ballia, Buxar, Saidpur et Chunar. À Allahabad, le fleuve rejoint le fleuve Yamuna. À Pakur, la rivière se divise en deux affluents, à savoir le Bhāgirathi-Hooghly et le cours principal. Bhāgirathi-Hooghly dans le cours ultérieur forme la rivière Hooghly. Le cours principal, le Gange, entre au Bangladesh. Près de la frontière avec le Bangladesh, le barrage de Farakka contrôle le débit du Gange en détournant une partie de l'eau vers un canal de dérivation qui est relié au fleuve Hooghly pour le maintenir relativement libre de limon.