La commune est dans le bassin versant de la Garonne, au sein du bassin hydrographique Adour-Garonne. Elle est drainée par l'Auroue, le ruisseau du Métau, le ruisseau de Sempesserre, le ruisseau du Rat, le ruisseau de Lamouyne, le ruisseau de Sirech et par divers petits cours d'eau, constituant un réseau hydrographique de 32 km de longueur totale.
L'Auroue, d'une longueur totale de 62,4 km, prend sa source dans la commune de Crastes et s'écoule du sud vers le nord. Il traverse la commune et se jette dans la Garonne à Saint-Romain-le-Noble, après avoir traversé 26 communes.
Le ruisseau du Métau, d'une longueur totale de 11 km, prend sa source dans la commune de Flamarens et s'écoule du sud vers le nord. Il se jette dans la rivière de l'Auroue sur le territoire communal, après avoir traversé 3 communes.