La ciudad, que ocupa una superficie aproximada de 13,9 km, está situada en el tramo costero central del concejo, en una bahía dividida por la península de Cimadevilla (casco antiguo) que separa la playa de San Lorenzo al este, del puerto deportivo, playas de Poniente y Arbeyal, astilleros y puerto de El Musel, al oeste.