Hotels in Spain

From historic cities to the islands, the coast and mountain villages: hotels in all 17 Spanish regions, plus Ceuta and Melilla.

Where to stay in Spain: how to choose a region and a hotel

Coast, city or countryside

Spain suits very different trips, so it helps to decide on the kind of holiday first. For sun and beaches, the Mediterranean (Costa Brava, Costa Blanca, Costa del Sol) and the islands have most of the large hotels and aparthotels; the Costa de la Luz and the Atlantic north have wider, less built-up beaches.

For a city break, Madrid, Barcelona, Seville, Valencia, Granada and San Sebastián are easy to explore on foot from the centre, and staying in the old town saves on transport. For the countryside and nature, the Pyrenees, the Picos de Europa, Sierra Nevada and the Sierra de Cazorla have rural hotels and stone houses in small villages.

When to go

July and August fill the coast and the islands, and prices rise, especially at weekends. Spring and autumn are the best seasons for the cities of the south, which get very hot in summer. In winter the Canary Islands stay mild, and the ski resorts of the Pyrenees and Sierra Nevada are in high season. Easter week and Spanish bank holiday weekends also fill up inland towns.

Types of accommodation

Besides hotels, Spain has a few types of its own. Paradores are state-run hotels in castles, convents and historic palaces. Casas rurales (country houses) and rural hotels are everywhere in Asturias, Cantabria, Castile and León and inland Catalonia. The coast has plenty of aparthotels, handy for families and long stays, and hostales are the simple, central option in cities.

How to use this page

Open each region to see its provinces and destinations, with hotels ranked by guest scores. If you are after something specific, the pages by hotel type (spa, pool, pet-friendly, paradores, rural) bring those hotels together across the whole country.

All destinations in Spain

Destinations without an English guide yet open in Spanish; prices and booking are always in English.

Andalusia