Castelldefels est une ville côtière du nord-est de l'Espagne, située dans la région du Baix Llobregat, dans la province de Barcelone, en Catalogne. La municipalité se trouve à une altitude de trois mètres au-dessus du niveau de la mer, directement sur la mer Méditerranée.
La ville est un territoire côtier relativement compact, s'étirant le long du front de mer et s'élevant vers les collines de l'intérieur. La grande majorité du parc immobilier est concentrée dans les quartiers de plage plats et sablonneux et dans les zones urbaines centrales, qui sont beaucoup plus densément peuplées que les zones résidentielles surélevées bordant le massif du Garraf. Les propriétés les plus proches de la mer Méditerranée affichent des prix bien plus élevés que les habitations situées plus à l'intérieur des terres.