Castelldefels é uma cidade costeira no nordeste de Espanha, localizada na região do Baix Llobregat, na província de Barcelona, na Catalunha. O município situa-se a uma altitude de três metros acima do nível do mar, diretamente sobre o Mar Mediterrâneo.
A cidade é um território costeiro relativamente compacto, estendendo-se ao longo da orla marítima e subindo em direção às colinas do interior. A grande maioria do parque habitacional concentra-se nos bairros de praia planos e arenosos e nas zonas urbanas centrais, que são muito mais densamente povoadas do que as áreas residenciais elevadas que fazem fronteira com o maciço do Garraf. As propriedades mais próximas do Mar Mediterrâneo têm preços muito mais elevados do que as casas situadas mais no interior.