Maximum red weather alerts are in place in the Madrid, Toledo and Cádiz regions.
Sunday's football match between Atletico Madrid and Sevilla was suspended due to the torrential rain.
Residents in Madrid have been asked to stay at home due to "the exceptional and abnormal" rainfall, the mayor said.
In the Spanish capital alone, firefighters have been called to alleviate the situation in flooded roads 190 times.
Much of the rainfall, brought by Storm Dana, has been concentrated in Cádiz, Tarragona and Castelló - coastal regions across the country.