Située sur la côte méditerranéenne entre les embouchures des rivières Llobregat et Besòs, elle est bornée à l'ouest par la Serra de Collserola ridge -LRB- -RRB-.
La ville se trouve entre les rivières de Llobregat et de Besòs, et au sud des Pyrénées.