Swimmers can do their laps and laze the afternoon away by the big pool (unheated but usually swimmable) at in-town Hotel Rivera del Ángel (Mina 518, tel. 951/516-6666, $10 adults, $5 kids 5 and under).
For both tennis (about seven courts) and a nine-hole golf course, go to the relaxed country club–style Club Brenamiel (at the intersection of Hwy. 190 and Calle San Jacinto, tel. 951/512-6822, clubbrenamiel [at] hotmail [dot] com), on the left just past the Hotel Villas del Sol, about three miles north of the town center.
Alternatively, on the other side of town, try the well-equipped (half a dozen tennis courts, two pools, gymnasium) YMCA-like Oaxaca Deportivo (Km 6.5, Carretera a El Tule, tel. 951/517-5271, 951/517-5974, 951/517-7312), off Highway 190 on the way to El Tule [1], about four miles east of town. Note: Although both Club Brenamiel and Oaxaca Deportivo are membership organizations, they do accept day guests for a fee.
Links:
[1] http://www.moon.com/destinations/oaxaca/oaxaca-valley/east-textile-route/santa-maria-del-tule