Runners-up in 2009, the Swiss needed a positive result here after losing their opening match against Senegal and they set about their task straight from kick-off, finding themselves 5-1 ahead at the end of the first period.
Goalkeeper Valentin Jaeggy opened the scoring in the fourth minute before Iran equalised four minutes later through Mohammad Mokhtari. Within three minutes, however, the Swiss had a four-goal advantage after strikes from Sandro Spaccarotella, Mo Jaeggy, Michael Rodrigues and Angelo Schirinzi.
The heat began to have an effect from then on, and with Switzerland tiring Iran fought their way back into the game. Mokhtari bagged his and Iran’s second before third-period goals from Mohammad Ahmadzadeh and Hassan Abdollahi reduced the deficit to 5-4.
Abdollahi was then sent off for conceding a penalty, which was converted by Stephan Leu to ensure Switzerland took the victory.
Iran will now face Senegal in their final group game while Switzerland meet hosts Italy, with both matches to played on Monday 5 September.