vignette|Le château de Saint-Prex.
Saint-Prex est une commune suisse du canton de Vaud, située dans le district de Morges, sur les bords du Léman.
vignette|Photo aérienne (1959).
Saint-Prex, dont le petit bourg médiéval s'étale sur une presqu'île du Léman, se situe à une altitude moyenne de , à au sud-ouest de Morges, chef-lieu du district éponyme.
La superficie de la commune d'environ (549 hectares) se situe sur une portion de la rive nord du lac, sur le plateau suisse. De là, le territoire communal s'étend en direction du Jura dans une plaine jouxtant le lac, jusqu'à une proéminence se situant quelque plus haut que la moyenne. La frontière nord est constituée par la vallée boisée du ruisseau Le Boiron de Morges. Vers le lieu-dit Bois-Billens, l'on atteint le point le plus élevé de la commune (). À l'est, la frontière suit le cours du ruisseau des Chenaux et à l'ouest, c'est Le Boiron de Morges qui fait office de limite, et ce jusqu'à son embouchure dans le Léman. La rivière a formé à cet endroit une petite plage alluvionnaire qui est restée à l'état naturel. Au nord de la commune se trouve encore le ruisseau de Bézières.
En 1997, d'après les données statistiques, la zone constructible s'étant à 37 % du territoire communal. Les forêts ou espaces boisés en occupent 7 % et les terres agricoles 55 %. Un peu moins de 1 % du terrain est impropre à la culture.
Saint-Prex a 5,5 kilomètres de côtes.
La commune de Saint-Prex compte également les hameaux de Beaufort (), non loin du point le plus élevé de la commune, et Les Iles () au sud du Boiron, de même que quelques fermes isolées. Les communes voisines de Saint-Prex sont Buchillon, Étoy, Villars-sous-Yens, Lussy-sur-Morges, Lully et Tolochenaz.
Les habitants de la commune se nomment les Saint-Preyards.
Avec habitants (), dont 2 136 étrangers, Saint-Prex se classe dans les communes de taille moyenne du canton de Vaud. 82,5 % des résidents parlent le français, 5 % l'allemand et 3,3 % l'italien (Statistiques 2000). La population de Saint-Prex s'élevait en 1753 à 316 habitants, 528 habitants en 1850 et 882 en 1900.