西班牙位于北纬36度00分到43度22分、西经9度18分和东经3度19分之间。
西班牙全国总面积达505925平方公里(其中陆地面积499542平方公里,水域面积5240平方公里),居欧洲第五位,本土最北端到最南端大约830公里,东西方向最长1000公里。
绝大部份领土位于伊比利亚半岛,东北隔比利牛斯山脉与法国和安道尔相连,西邻葡萄牙。南隔直布罗陀海峡与非洲的摩洛哥相望。北面比斯开湾,东临地中海与意大利隔海相望,西北、西南临大西洋。
西班牙地势以高原为主,间以山脉。海拔3718 米的穆拉森山为全国最高点。中部的梅塞塔高原是一个山脉环绕的闭塞性高原,约占全国面积的3/5,平均海拔600米~800米。
北有东西绵亘的坎塔布里亚山脉和比利牛斯山脉。比利牛斯山脉是西班牙与法国的界山,长430多公里,有海拔3000米以上的高峰。
西班牙的最高点在南部的内华达山,主峰穆拉森山海拔3478米,是伊比利亚半岛的屋脊。
由于山脉逼近海岸,平原很少而且狭窄,比较宽广的只有东北部的埃布罗河谷地和西南部的安达卢西亚平原。
西班牙全国海拔200米以下的土地占11%,201米至600米占31%,601米至1000米占39%,1001米至2000米占18%,海拔2000米以上占1%。
西班牙主要河流有埃布罗河、杜罗河、塔霍河、瓜迪亚纳河和瓜达尔基维尔河。最长的是塔霍河,长1007公里,下游在葡萄牙境内。埃布罗河长910公里,全程在境内,有时被看作西班牙第一大河。这些河流由于跌宕曲折,只有瓜达尔基维尔河下游可以通航,其他河流均无法航运。