Spring and fall are ideal times to visit nearly all of Spain, with the possible exception of the Atlantic coast, which experiences heavy rains in October and November. May and October are the best months with regard to weather as well as crowds.
In summer it's hot, hot, and hotter still, with the cities in Castile (Madrid) and Andalusia (Seville and Córdoba) heating up the most. Madrid has dry heat; the average temperature can hover around 84°F (29°C) in July and 75°F (24°C) in September. Seville has the dubious reputation of being about the hottest part of Spain in July and August, often baking under average temperatures of 93°F (34°C).
Barcelona, cooler in temperature, is often quite humid. Midsummer temperatures in Majorca often reach 91°F (33°C). The overcrowded Costa Brava has temperatures around 81°F (27°C) in July and August. The Costa del Sol has an average of 77°F (25°C) in summer. The coolest spot in Spain is the Atlantic coast from San Sebastián to A Coruña, with temperatures in the 70s (21°C-26°C) in July and August.
August remains the major vacation month in Europe. The traffic from France, the Netherlands, and Germany to Spain becomes a veritable migration, and low-cost hotels along the coastal areas are virtually impossible to find.
In winter, the coast from Algeciras to Málaga is the most popular, with temperatures reaching a warm 60°F to 63°F (16°-17°C). Madrid gets cold, as low as 34°F (1°C). Majorca is warmer, usually in the 50s (low teens Celsius), but it often dips into the 40s (single digits Celsius). Some mountain resorts can experience extreme cold.
Some Spanish public holidays—notably Good Friday, Easter Monday, and Corpus Christi, held 60 days after Easter—depend on the liturgical calendar. Each region of Spain also has some local holidays, usually expressing regional pride.
National holidays include January 1 (New Year’s Day), January 6 (Feast of the Epiphany), March 19 (Feast of St. Joseph), Good Friday, Easter Monday, May 1 (May Day), Corpus Christi, August 15 (Feast of the Assumption), October 12 (Spain’s National Day), November 1 (All Saints’ Day), December 8 (Immaculate Conception), and December 25 (Christmas). If a holiday falls on a Thursday or Tuesday, many Spaniards take off the weekday in between to create an extra-long weekend known as a puente, or bridge. Be sure to book hotels well ahead of time.
Note: This information was accurate when it was published, but can change without notice. Please be sure to confirm all rates and details directly with the companies in question before planning your trip.