El Puerto de Santa María se ubica en la costa gaditana, en el interior de la bahía de Cádiz, y al sur de la Sierra de San Cristóbal, sobre la ribera y desembocadura del río Guadalete; vecino a los municipios de Sanlúcar de Barrameda (carretera A-2002), Jerez de la Frontera, Rota, Puerto Real, y Cádiz a través de la bahía.