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.
D'une superficie modeste (5 km2), la commune de Noyalo s'étendait sur la rive gauche de la rivière éponyme, l'un des trois cours d'eau qui alimentent le golfe du Morbihan en eau douce (avec celles d'Auray et de Vannes). Peu vallonné, le territoire ne dépasse pas quinze mètres d'altitude, maximum obtenu à la limite de la commune de Surzur.