Philippe Coutinho put Brazil ahead after 20 minutes with a curling shot, but Steven Zubar's 50th minute header meant it ended all square.
Brazil went ahead after 20 minutes when Philippe Coutinho scored with a spectacular long-range effort.
Switzerland equalized soon after the break. Steven Zuber was left unmarked in the box and he scored with a powerful header from close range.
Coutinho's goal, which was a curling 25-yard shot that went in off the post looked to have put Brazil in control, but they seemed to lose focus and although Switzerland failed to get a shot on target in the first 45 minutes Zubar's header following a corner drew them level.
Brazil rarely looked fluid after that goal and although Roberto Firminho and Joao Miranda had chances to seal the win, Yann Sommer in the Swiss goal only had one difficult save to make.
Brazil's bid for a sixth World Cup got off to a slow start as Switzerland withstood an early onslaught to snatch a 1-1 draw in Rostov-on-Don.