航空
每天有航班來往馬德里及倫敦格域機場。
直布羅陀機場設于與西班牙的邊界旁,基于地理上的限制,其跑道長度很短,只能供中小型飛機升降(如波音737、空中客車A320等),直布羅陀唯一過境道路須通過跑道路面,故每當有航班升降時,鐵路型的道口欄桿便落下封閉道路讓飛機安全通過,禁止車輛通行。故這是世界上僅有的跑道平交道(有時充當一條公路,有時又成為一條跑道。)。
船運
有渡輪前往北非摩洛哥的丹吉爾市(英語:Tangiers),航程約80分鐘。
鐵道
直布羅陀沒有鐵道接駁,旅客一般須步行過境到西班牙的利尼亞(La Linea)乘搭地區巴士前往阿爾赫西拉斯市,再轉乘西班牙國鐵火車。
公路
直布羅陀為英國屬地,早期道路行駛方向為靠左行駛。1929年起為了方便往來,與西班牙道路系統整合,改為靠右行駛。
直布羅陀市內設有數條巴士線,并設有觀光性質的10號紅色雙層巴士線前往市中心,車資可用歐元或英鎊繳付。
市內有長途巴士站,但班次不多,旅客一般會搭乘西班牙利尼亞的長途巴士站前往其他地方。

