Castelldefels is een kuststad in het noordoosten van Spanje, gelegen in de regio Baix Llobregat in de provincie Barcelona in Catalonië. De gemeente ligt op een hoogte van drie meter boven de zeespiegel, direct aan de Middellandse Zee.
De stad is een relatief compact kustgebied dat zich uitstrekt langs de kustlijn en oploopt naar de heuvels in het binnenland. Het overgrote deel van de woningen is geconcentreerd in de vlakke, zanderige strandwijken en de centrale stedelijke zones, die veel dichter bevolkt zijn dan de hoger gelegen woonwijken die grenzen aan het Garraf-massief. Vastgoed dat dichter bij de Middellandse Zee ligt, kent aanzienlijk hogere prijzen dan woningen die verder landinwaarts liggen.