El río Leça nace en el monte de Santa Luzia, a unos 420 m de altitud, por encima de la aldea de Redundo, perteneciente a la freguesia de Monte Córdova, del concelho de Santo Tirso. Tras regar varias freguesias de este municipio atraviesa luego los términos municipales de Valongo y Maia, yendo a desaguar en el puerto de Leixões, junto a la ciudad de Matosinhos.
Sus principales afluentes son el arroyo de Arquinho y el arroyo de Leandro, ambos por la margen derecha.
Cuenca
La cuenca del río Leça, en sentido estricto, tiene una extensión de 189,8 km², aunque su plano de cuenca oficial la amplía hasta 235 km², por la adición de dos franjas costeras, una al norte y otra al sur de la desembocadura, cuyas aguas drenan directamente al océano. El caudal medio anual es de 107 hm³.
La cuenca tiene una forma alargada y estrecha, con dirección predominante nordeste-sudoeste, estando comprimida por la cuenca del río Ave al norte y por la del Duero al este y al sur. Sus características no permiten recursos hídricos regulares.
Contaminación
El río Leça atraviesa una región fuertemente poblada y con importante actividad agrícola y de industria ligera, con los consiguientes problemas de vertido de residuos sin depurar, que han degradado la calidad de las aguas y de los sistemas biológicos, poniendo en riesgo sistemas hidrogeológicos de interés local. Para tratar de recuperar esta situación, las administraciones locales y regionales afectadas han lanzado el proyecto “Corrente Rio Leça”, que pretende implicar también la participación de los ciudadanos.