स्पेन के दक्षिणी तट पर बार्सिलोना है
बार्सिलोना इबेरियन प्रायद्वीप के उत्तर-पूर्वी तट पर स्थित है, भूमध्य सागर का सामना करते हुए, लगभग 5 किमी (3 मील) चौड़े मैदान पर स्थित है, जो दक्षिण-पश्चिम में कोल्सेरोला की पर्वत श्रृंखला, दक्षिण-पश्चिम में लोब्रेगेट नदी और उत्तर में बेसस नदी द्वारा सीमित है। यह मैदान 170 किमी (66 वर्ग मील) के क्षेत्र में फैला हुआ है, जिसमें से 101 किमी (39 वर्ग मील) शहर द्वारा ही कब्जा कर लिया गया है। यह पाइरेनीज़ और फ्रांस के साथ कैटलन सीमा से 120 किलोमीटर (75 मील) दक्षिण में है।