The headwaters of the main tributary of Bharathapuzha originates from various parts of the Western Ghats as small rivulets, and flows westward through Palakkad Gap, (also known as Palghat gap) across Palakkad, Thrissur and Malappuram districts of Kerala, with many tributaries joining it, including the Tirur River. For the first 40 km or so, the Bharathappuzha follows an almost northerly course till Pollachi near Coimbatore. At Parli, the Kannadipuzha and Kalpathipuzha River merge and flow as Bharathappuzha, following a westerly course until it empties into the Lakshadweep Sea at Ponnani. At Mayannur, Gayathripuzha merges with the river. The Thuthapuzha merges with the Nila at Pallippuram. As the Thootha River is rich in water, after its merger, the Nila becomes thicker inflow.