The headwaters of the main tributary of Bharathapuzha originates in the Anaimalai Hills in the Western Ghats, 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.