Hasselroth grenzt im Norden an die Gemeinde Gründau und die Stadt Gelnhausen, im Osten an die Gemeinde Linsengericht, im Süden an die Gemeinde Freigericht, im Südosten an die Gemeinde Rodenbach sowie im Westen an die Stadt Langenselbold.
Die Gemeinde besteht aus drei Ortsteilen, die geographisch voneinander getrennt sind.
1971 schlossen sich die Orte Gondsroth und Neuenhaßlau zur neuen Gemeinde Hasselroth zusammen. 1974 wurde die Gemeinde Niedermittlau per Gesetz in diesen Verband eingegliedert.