The Barcelona defender failed to control a swinging cross from Xherdan Shaqiri and put the ball through his own goal with 47 minutes gone, unwittingly handing the Swiss reward after strong pressure from Ottmar Hitzfeld’s side.
The victory for Switzerland marks their first since 1989 against the five-time world champions.
Hitzeld fielded a strong side for the match, including veteran Philippe Senderos as well as promising Bayern Munich youngster Shaqiri.
His Brazil counterpart Luiz Felipe Scolari opted to stick with nine of the XI who had won the FIFA Confederations Cup final against Spain.
Julio Cesar, currently seeking a move from English Championship side QPR, missed out while reported Barcelona target David Luiz was replaced by Dante at the back.
The visitors started strongly, piling on the pressure early – and it looked like they would be rewarded in the 11th minute when Fred managed to shake off his man to feed Hulk, who was poised in the middle, but quick reactions from Diego Benaglio saw the 27-year-old’s shot kept out.
The home side continued to struggle to retain any possession, and the Wolfsburg goalkeeper was called into action again a few minutes later. Hulk was once more involved as he charged at goal, but his shot fell well for Benaglio, who saved with his feet.
Switzerland did pose some threat on the break, but their finishing was wayward as a shot from Shaqiri cleared the crossbar just before the interval.
Tempers began to fray shortly before half-time, when Stephan Lichtsteiner was chopped down by Neymar, with the Barcelona striker earning a yellow card as referee Deniz Aytekin struggled to separate the players.
Brazil’s class was evident in patches, and they should have opened the scoring when Paulinho’s header came back off the crossbar, before at the other end Shaqiri tested Jefferson with a long-range effort.
At the break, the hosts opted to withdraw Valentin Stocker,to be replaced by Tranquillo Barnetta, while 21-year-old Fabian Schaer made his international bow at the expense of Senderos.
And the changes reaped rewards within a few minutes, as Switzerland’s pressure ended with a cross from Shaqiri and Alves inadvertently head past his own keeper.
The Brazilian embarrassment was almost increased soon after when Jefferson failed to control a ball leading to a melee in the box, with Haris Seferovic just beaten to the ball by the Brazilian.
Scolari opted to make three changes to force the game, with the most notable seeing 31-year-old Paris Saint-Germain defender Maxwell make his international debut while Fred – who has scored five in five for Brazil – left the field to be replaced by Jo.
That did not seem to help the visitors, who still found themselves battling against the impressive Swiss attack – which was typified through Shaqiri, who once again fired over the crossbar after 66 minutes.
Brazil attempted to fight back in the latter stages, going close through Jo, but debutant defender Michael Lang intercepted.The loss marked the first for Brazil since February, while Switzerland gained a confidence-boosting win ahead of the resumption of their World Cup qualifying campaign.
Hitzfeld’s men currently sit top of UEFA Group E, although they still have another four games to play, the next coming against Iceland on September 6.
Get the best features, fun and footballing frolics straight to your inbox every week.