Der Fluss beginnt an einem Gletscher namens Gangotri-Gletscher, der in der Garhwal-Region im Himalaya liegt. Der Ganges fließt durch Nordindien und endet am Golf von Bengalen in Ostindien. Insgesamt fließt er 3.877 km, was ihn zu einem der längsten Flüsse der Welt macht. Seine Wasserscheide ist 907.000 km² breit. Die wichtigsten Flüsse, die in den Ganges münden, sind Brahmaputra, Gomti, Kosi, Gandak, Ghaghra, Yamuna und Son.
Der Ganges fließt nur 200 km durch den Himalaja. Der Fluss berührt flaches Land in der Region Rishikesh bei Haridwar in Uttarakhand. Dann durchfließt er die Städte Kanpur, Soron, Kannauj, Allahabad, Varanasi, Patna, Ghazipur, Bhagalpur, Mirzapur, Ballia, Buxar, Saidpur und Chunar. Bei Allahabad mündet der Fluss in den Fluss Yamuna. Bei Pakur teilt sich der Fluss in zwei Verteiler, nämlich den Bhāgirathi-Hooghly und den Hauptstrom. Bhāgirathi-Hooghly im späteren Verlauf bildet den Hooghly-Fluss. Der Hauptstrom Ganges mündet in Bangladesch. In der Nähe der Grenze zu Bangladesch kontrolliert die Farakka-Staustufe den Fluss des Ganges, indem sie einen Teil des Wassers in einen Zuflusskanal umleitet, der mit dem Hooghly-Fluss verbunden ist, um ihn relativ schlammfrei zu halten.