(CNN) -- European champions Spain beat Honduras 2-0 in Group H to get their World Cup campaign back on track.
Striker David Villa scored twice and missed a penalty in Johannesburg as the Spanish bounced back from their shock defeat to Switzerland in their opening game.
Earlier, Chile beat the 10-man Swiss 1-0 in Port Elizabeth, a victory which puts the South Americans top of the group.
Mark Gonzalez headed the only goal of the game shortly after the Swiss had set a new World Cup record for time without conceding a goal, surpassing Italy's mark of 549 minutes midway through the second half.
Spain 2-0 Honduras
Spain came into their Group H clash with Honduras knowing that only a win would suffice after their surprise 1-0 loss to the Swiss.
Villa had already rattled the crossbar from long range when he gave the Europeans the lead with one of the goals of the tournament so far.
Picking the ball up on the left flank, the Barcelona-bound front man cut between two Hondurans, went round another and smashed a shot into the top corner.
Liverpool striker Fernando Torres, recalled to the starting line-up following knee surgery, missed a string of straightforward chances and looked frustrated when he was taken off in the second half.
Villa's second goal arrived six minutes after half-time when his left-footed shot from outside the area deflected off a Honduran defender and looped over goalkeeper Noel Valladares.
Villa was handed a golden opportunity to score his hat-trick when Emilio Izaguirre brought down Jesus Navas in the box. But the former Valencia frontman rolled his penalty wide of the post.
Spain continued to dominate, with substitute Cesc Fabregas and Villa coming close in the final stages.
But Vicente Del Bosque's side may live to regret their failure to add to the score-line should the final placings in Group H come down to goal difference.
Chile 1-0 Switzerland
Chile had to work hard for their victory over 10-man Switzerland in Port Elizabeth which means the five South American teams are still to be beaten at this World Cup.
The Chileans made the brighter start and Swiss goalkeeper Diego Benaglio had to be at his best to keep out powerful efforts from Arturo Vidal and Carlos Carmona.
In a fiery first half, Switzerland were reduced to 10 men after half an hour when West Ham's Valon Behrami was shown a red card for an elbow on Vidal.
Chile had welcomed Humberto Suazo, the top scorer in South American qualifying, back to their starting line-up following a hamstring injury, but he looked short of full fitness, and was replaced at half-time after heading his best chance over the bar.
The second half was a Chilean onslaught and the South Americans looked to have taken the lead from a set-piece early in the second half when Alexis Sanchez's deflected shot flew into the net, but the goal was ruled out because two Chilean players were offside.
Switzerland, who pulled off one of the biggest shocks of the tournament by beating Spain 1-0, looked on course for another impressive result before their defense was finally breached with just over 15 minutes to go.
A precise pass sent substitute Esteban Paredes clear down the right flank and his center found the unmarked Gonzalez, whose header bounced and struck the underside of the bar before going into the net.
Paredes wasted two clear chances to extend the Chilean lead and Marcelo Bielsa's side were almost made to pay the ultimate price in the last minute.
A brisk Swiss counter-attack found its way to Eren Derdiyok, whose side-footed shot went narrowly wide.
Chile meet Spain and Switzerland face Honduras in the final round of group games on June 25.