La commune est divisée en deux entités : le village de Sainte-Marie, situé à environ 15 kilomètres à l'est de Perpignan et à 3 kilomètres au nord de Canet-en-Roussillon, c'est le coeur historique, construit autour de l'église ; et Sainte-Marie-Plage, à environ 2 kilomètres du village, le long du littoral méditerranéen.