San Melchor Betaza is a town and municipality in Oaxaca in south-western Mexico. The municipality covers an area of 37 km².
It is part of the Villa Alta District in the center of the Sierra Norte Region.
As of 2005, the municipality had a total population of 919. The inhabitants, who speak Zapotec.