San Gil está bañada por los ríos Fonce, Mogoticos y Monas; la quebrada Curití y otras de menor caudal de aguas como la Cuchicute, Paloblanco, Afanadora, las Joyas, Chapala, Guayabal, Molina, La Laja en el límite con Villanueva y el Antable en lindero con Mogotes; siendo su área urbana atravesada por el Río Fonce.