El río Cardener pasa por el sudoeste de la ciudad, sin embargo el municipio utiliza, para beber, el agua del río Llobregat, que pasa por el límite este del término.