Noyalo se situe au sud-est de Vannes, au bord du golfe du Morbihan, dans le pays Vannetais. Le bourg s'est établi sur une petite hauteur dominant l'ancien bras de mer de Noyalo, que franchit la route de Vannes à Port-Navalo. Ce bras de mer vaseux, pénétrant profondément dans les terres (vers Theix d'une part et Surzur d'autre part) constituait l'estuaire commun de plusieurs rivières du pays jusqu'en 1964, date à laquelle il fut fermé par un barrage au Pont-Noyalo, afin de créer la réserve d'eau potable de la ville de Vannes rendu nécessaire par son développement. 140 hectares de vasières, rivières et prairies furent alors inondées, formant l'actuel étang (d'eau douce) de Noyalo.