Cuenta con 5 presas: el Tejocotal, Los Reyes, Patla, Tenango y Necaxa en las cuales se almacenan 172 millones de litros cúbicos de agua para generar energía no solo para el estado de Puebla sino también para Tlaxcala, Hidalgo, Estado de México y el Distrito Federal, y a numerosas ciudades y pueblos que se encuentran en el centro del país; la presa Necaxa se ubica dentro del municipio y de ella prosigue el río Tepexi, que corre de oeste a este, y constituye uno de los afluentes del Necaxa, a través de un túnel se une al río de Patla, formando el río Tecolutla, el cual desemboca en el Golfo.