Das Pfarrdorf Mainroth liegt 5,4 km Luftlinie 112,2 ° südöstlich von Burgkunstadt entfernt. Das Dorf liegt im obermainischen Bruchschollenland. Der Main fließt rund einen Kilometer am südlichen Ortsrand vorbei. Durch das Dorf verläuft von Burgkunstadt nach Kulmbach die Bundesstraße und eine Kreisstraße kommt aus Richtung Gärtenroth. Folgende Straßen führen in der Nähe von Mainroth vorbei oder direkt dort hin: B 289 und LIF 14.