Ninety-nine days out from the World Cup, there were unimpressive 1-0 friendly wins for England and Germany over Denmark and Chile respectively.
Argentina and Colombia were held to draws while fellow finalists Australia, Ghana and the United States were all beaten.
At Soweto, Chelsea’s Oscar opened the scoring for Brazil on 10 minutes, Barcelona ace Neymar struck once in the first half and twice in the second, and Manchester City’s Fernandinho marked his first start with a goal as well.
It was the final warm-up for the World Cup favourites before the May announcement of their 23-man squad.
“It was not an easy game. The scoreline does not tell the story. South Africa played well — they moved the ball well,” said Brazil coach, Luiz Felipe Scolari.
“The difference was that Brazil have very special players. We are happy with what we saw, but there are one or two things we need to work on, and that will be done at training sessions.”
Pedro Rodriguez’s goal was enough to give world and European champions Spain a 1-0 win over Italy in their final game before coach Vicente del Bosque names his squad to defend their world title.
Atletico Madrid striker Diego Costa was handed his debut on home soil at Madrid’s Vicente Calderon in what was a rematch of the Euro 2012 final.
However, Costa failed to make much of an impression and it was Spain’s top goalscorer in qualification, Pedro, who made the difference when his shot squirmed under Gianluigi Buffon just after the hour mark.
Portugal were also big winners as Cristiano Ronaldo grabbed a brace in a 5-1 win over Cameroon while 1998 champions France also looked good with Karim Benzema and Blaise Matuidi sealing a 2-0 win over the Netherlands in Paris.
It was a first defeat for 2010 World Cup runners-up Netherlands in 19 matches.
At Wembley, Daniel Sturridge scored an 82nd-minute header to give England victory over Denmark in their last friendly before manager Roy Hodgson names his World Cup squad.
Hodgson gave a debut to Southampton left-back Luke Shaw, but it took the second-half introductions of Adam Lallana and Danny Welbeck to give England a spark.
Lallana teed up the winning goal for Sturridge, whose back-post header ended a 264-minute goal drought for England at Wembley Stadium after November’s friendly defeats by Chile and Germany.
– ‘We had to work very hard’ –
“It was a very organised Danish team and we had to work very hard,” said Hodgson.
“From the 60th minute onwards we showed some really good play and Adam Lallana made a big difference.”
In Bucharest, Argentina could only draw 0-0 against Romania in a friendly which saw Lionel Messi play despite being physically sick seven minutes in.
Argentinian coach Alex Sabella started with pretty much his first choice side with Messi in the playmaking role while Sergio Aguero and Gonzalo Higuain were the strikeforce and other regulars such as Angel di Maria, Javier Mascherano and Pablo Zabaleta also featured.
But the two-time world champions toiled to create any serious openings.
Germany were booed off in Stuttgart after failing to impress in a fortunate win over fellow World Cup finalists Chile.
Jorge Sampaoli’s side had the Germans under pressure for long spells and created 17 shots to the Germans’ seven.
The corner count of Chile’s 14 to Germany’s four told its own tale and the hosts enjoyed only a brief period of pressure in the first-half which led to Mario Goetze’s 16th-minute winner.
“That was a lucky win. I can understand the jeers and whistles,” said Germany captain Philipp Lahm.
In Barcelona, Colombia drew 1-1 with Tunisia as the South Americans’ lack of a cutting edge in the absence of knee injury victim Radamel Falcao was exposed.
Jurgen Klinsmann’s United States team lost 2-0 to Ukraine in a game switched to Cyprus because of the worrying security situation in the troubled European country.
Other World Cup finalists were also handed pre-tournament reality checks with Ghana going down 1-0 at Montenegro and Bosnia-Herzegovina, who’ll be making their tournament debut, slipping to a 2-0 home loss to Egypt.
Australia gave up a 3-0 lead to lose 4-3 to Ecuador in London while Copa America champions Uruguay, who were semi-finalists at the 2010 World Cup, were held 1-1 by Austria.