La principal corriente fluvial del municipio de San Miguel de Allende es el río Laja, que proviene del municipio de Dolores Hidalgo; corre en sentido de norte a sur por el centro del territorio, continuando posteriormente hacia Comonfort y, finalmente, desembocando en el río Lerma.