The calculated distance (air line) between Castelldefels and Vilafranca del Penedès is approximately 15 miles respectively 24 kilometers.
By car or train, the actual journey to Vilafranca del Penedès is certainly longer, as only the direct route (as the crow flies) between Castelldefels and Vilafranca del Penedès has been calculated here.
Air line (approximately)
24 kilometers
13 nautical miles