Saint-Émilion se encuentra 35 kilómetros al noreste de Burdeos, entre Libourne y Castillon-la-Bataille, con una altitud media de 23 metros sobre el nivel del mar.