It took the European Champions 82 rather unconvincing minutes, but Spain finally managed to put one past a resilient Paraguayan defense. Spain will face Germany in the semis, after Jogi Loew's men thrashed Argentina.
Villa's late goal rescued the Spaniards from extra time
The match between Spain and Paraguay was a comparatively stale one, after Germany's up-tempo drubbing of Argentina earlier on Saturday.
David Villa scored for the Spaniards late on, but it was a tough route towards the semifinal for his side.
Paraguay sat deep, looking to stifle the European Champions Spain, who played their characteristically composed, but somehow impotent passing game.
Spain were confident in possession, sometimes stringing dozens of uninterrupted passes together, but they crafted few real goal scoring opportunities.
For all Spain's possession, Paraguay had the ball in the net shortly before half time, with Borussia Dortmund's Nelson Valdez latching on to a long free-kick. The goal was disallowed, perhaps wrongly, in a borderline offside decision.
Neither side really pulled in the right direction
Livelier second half
In the second half both sides squandered chances from the penalty spot in the space of a few minutes. Paraguay's Oscar Cardozo was pulled down in the box, got back up to take the spot-kick himself, but Iker Casillas made a fairly comfortable save.
In the very next attack David Villa won a penalty for Spain. Xavi Alonso stepped up and scored, but the shot had to be retaken after Spanish players rushed into the area before Alonso struck. At the second attempt Alonso's shot was saved in almost the exact same manner as Cardozo's had been moments earlier.
These misses at least provided a necessary spark to the match, and on 82 minutes David Villa finally scored the decisive goal for Spain, but even then the ball seemed unwilling to cross the goal line.
Andres Iniesta put Pedro clean through, but the substitute's shot rebounded off the post. Villa was in the right place at the right time, and side-footed the rebound towards goal. His shot eventually went in, but only after hitting the inside of both posts.
The final few minutes were a frenetic affair, with chances at both ends and Spanish defender Sergio Ramos taking a nasty kick to the face, but in the end the score remained 1-0 Spain.
Germany watched with interest
As victors, Spain will go on to face Joachim Loew's German side in the semifinals on Wednesday.
German midfielder Bastian Schweinsteiger magnanimously said he believed Spain to be the best team in the world, just after his side had staked a claim to that honor with their 4-0 demolition of many people's tournament favorites Argentina. He did say, however, that Germany had what it takes to beat them.
Now he will have his chance to find out whether he's right.
Author: Mark Hallam
Editor: Matt Hermann