스페인은 유럽 대륙의 남서쪽에 위치하며 이베리아반도의 84%를 차지한다. 전체 면적은 504,782km2이며 그중 5,240km2은 호수 등이다.
스페인의 국경선 중 4,964km는 바다에 닿아있으며 1,917.8km는 포르투갈, 안도라, 프랑스 등과 접하는 대륙 내 국경선이다. 비스케이만이 북쪽, 지중해는 남쪽, 포르투갈과 대서양이 서쪽에 위치한다. 북쪽에는 피레네산맥 등의 산맥지대가 있다. 피레네산맥은 비스케이 만에서 지중해까지 약 435km 뻗어있으며 스페인 최남단에는 지브롤터 해협이 있어 남부 유럽과 아프리카를 구분하며 모로코와 구별된다. 모로코와 스페인은 13km 정도 떨어져 있을 뿐이다.