Spain spills out on to streets to celebrate win
Fans spilled out on to the streets to celebrate after Carles Puyol's piledriver of a header gave the European champions a 1-0 victory over Germany to make Sunday's final against Netherlands.
Neither team have won the World Cup before.
Cars drove through the streets of Madrid with horns blaring, Spain flags fluttering from the windows, and people hanging out of the windows screaming in delight.
Others, stripped off to the waist in the cloying heat, risked life and limb playing matador with their flags as cars drove by, in a massive outpouring of emotion.
"They played like a team and deserved to win from the first minute. They were the better team. I can't pick out one player. They all played well," Ignacio from Valladolid told Reuters, after watching the game in a packed bar in the Spanish capital.
"The pressure was on Germany to play well after all the press they have received, more than us, and they didn't. We are going to beat Holland, for sure."
The vuvuzela trumpet has caught on in Spain as well, and could be heard honking on the streets, as fans walked around draped in red and gold singing "Yo soy Espanol" (I am Spanish) and "Viva Espana".
Some supporters were heard wondering aloud what would it be like if Spain actually won on Sunday after years of under-achievement in the game.
A fan zone alongside Real Madrid's Bernabeu stadium has been the centre of focus for most of Spain and thousands there watched events unfold on a giant screen.
"Fantastic! This is our World Cup and we are going to win it," one fan told Reuters television after the final whistle.
Many Spanish fans started singing about Paul the Octopus from Germany who has become an international celebrity for predicting the results of matches, and has maintained a 100 percent record with all of Germany's games.
Spain will play the Dutch in the final in Johannesburg on Sunday.