The Mahananda originates in the Himalayas: Mahaldiram Hill near Chimli, east of Kurseong in Darjeeling district at an elevation of 2,100 metres (6,900 ft). It flows through Mahananda Wildlife Sanctuary and descends to the plains near Siliguri. It touches Jalpaiguri district.
It enters Bangladesh near Tentulia in Panchagarh District, flows for 3 kilometres (1.9 mi) after Tentulia and returns to India. After flowing through Uttar Dinajpur district in West Bengal and Kishanganj district in Bihar, it enters Malda district in West Bengal. The Mahananda divides the district into two regions — the eastern region, consisting mainly of old alluvial and relatively infertile soil is commonly known as Barind (Borendrovomee), and the western region, which is further subdivided by the river Kalindri into two areas, the northern area is known as "Tal." It is low lying and vulnerable to inundation during rainy season; the southern area consists of very fertile land and is thickly populated, being commonly known as "Diara".
It joins the Ganges at Godagiri in Nawabganj in Bangladesh.
The total length of the Mahananda is 360 kilometres (220 mi), out of which 324 kilometres (201 mi) are in India and 36 kilometres (22 mi) are in Bangladesh.
The total drainage area of the Mahananda is 20,600 square kilometres (8,000 sq mi) out of which 11,530 square kilometres (4,450 sq mi) are in India.
The Kosi (Kausiki), which flows through the northeastern Bihar and joins the Ganges at a point much higher up than Rajmahal, originally ran eastward and fell into the Brahmaputra. The channel of the Kosi, therefore, must have been steadily shifting toward the west, right across the whole breadth of North Bengal. There was a time when the Kosi and the Mahananda joined the Karatoya and formed a sort of ethnic boundary between people living south of it and the Kochs and Kiratas living north of the river