(CNN) -- England continued their warm-up for the World Cup finals with a 3-1 friendly victory over fellow-finalists Mexico at Wembley Stadium on Monday.
However, Fabio Capello's side did not have things their own way against the Central American nation, who had plenty of chances to score in an entertaining match.
Arsenal striker Carlos Vela twice had gilt-edged opportunities to score for the Mexicans in an open first half, but on both occasions failed to get his shot past goalkeeper Robert Green.
And Carlos Salcido went desperately close to beating Green when his curling effort struck the outside of the post.
England took the lead in the 17th minute minute when defender Ledley King -- playing in his first match under Capello and first England appearance for three years -- marked his return with a close-range header after a corner had been headed across goal by Tottenham teammate Peter Crouch.
And England doubled their advantage in the 34th minute when Wayne Rooney's unmarked header was saved by goalkeeper Oscar Perez, only for Crouch to bundle in the rebound -- although it looked like it came off the striker's arm.
Mexico pulled a deserved goal back on the stroke of half-time when Guillermo Franco netted from close-range after Leighton Baines had stopped a goalbound effort on the line.
But Liverpool full-back Glen Johnson sealed the win early in the second-half with a superb cross field run and curling shot.
In other friendlies, South Korea defeated Japan 2-0, while Australia came from behind to avoid an embarrassing home loss to neighbors New Zealand.
South Korea beat Japan 3-1 in Tokyo at the East Asian Championships in February, and notched another morale-boosting win over their fellow 2002 World Cup co-hosts thanks to an early goal from Park Ji-Sung and a late penalty from Park Chu-Young.
Manchester United midfielder Ji-Sung fired the opening goal in just the sixth minute from the edge of the penalty area in a first half of few chances.
Striker Chu-Young, who plays for French club Monaco, came on at halftime and finally doubled the lead right at the end, slotting home after being fouled by goalkeeper Seigo Narazaki.
Like South Korea and Japan, Australia also qualified for this year's tournament in South Africa from the Asia confederation, having abandoned the Oceania group after qualifying for Germany in 2006 via the playoffs.
New Zealand have qualified for the second time since 1982, defeating Asian member nation Bahrain in a playoff after topping the Oceania standings, and in Melbourne on Monday looked like repeating past famous upsets over their traditional rivals.
The Kiwis, ranked 58 places below the "Socceroos" at 78th in the world, took the lead in the 16th minute through England-based striker Chris Killen in front of a crowd of 55,659.
Killen fired home after a flick-on from Shane Smeltz and then hit the post as the three-pronged strike trio also featuring Rory Fallon gave the home side early problems.
New Zealand lost Leo Bertos in the 35th minute after rash challenges by Vince Grella and Tim Cahill saw the wing-back stretchered off with shin injuries and in doubt for the World Cup starting next month.
Australia got back into the match in the second half as coach Pim Verbeek made several substitutions.
Dario Vidosic netted an opportunistic 57th-minute equalizer after the ball deflected off Killen, while midfielder Brett Holman fired a last-minute winner to boost his hopes of earning a place in Verbeek's 23-man squad for the finals.
Portugal's preparations for South Africa were dealt a blow when they struggled to a 0-0 home draw against Cape Verde Islands in Covilha, with Cristiano Ronaldo playing the full 90 minutes.
World Cup hosts South Africa drew 1-1 with Bulgaria in Johannesburg. Siyabonga Sangweni headed the home side in front only for Manchester City striker Valeri Bojinov to volley home an equalizer 11 minutes later.
Meanwhile, in Buenos Aires, Argentina showed they will be a force to be reckoned with in South Africa by thumping Canada 5-0.
Liverpool winger Maxi Rodriguez scored twice, with Angel Di Maria, Carlos Tevez and Sergio Aguero adding the other goals.