At 9pm on Saturday night a man on an electric scooter positioned himself in front of a number 13 tram at Eschergutweg and rode slowly in front of it, forcing the tram to travel at a reduced speed, Zurich police said in a statement.
He started to make “offensive gestures” at the tram driver, police said.
At the next stop the 59-year-old tram driver left the vehicle to go and speak to the scooter driver, who promptly punched him in the face and drove away.
The tram driver then got back in the tram and continued the journey.
Subsequently, another motorist who had witnessed the incident succeeded in stopping the attacker.
The tram driver then left the tram again to go to the aid of the 46-year-old motorist, at which point the scooter driver sprayed them both with pepper spray and fled the scene.
Zurich police are seeking information on the whereabouts of the perpetrator, described as 18-20 years old, about 185cm tall, of slim build, wearing a dark jacket with fur hood and dark trousers, and a Swiss German-speaker.
Anyone with information should call 044 411 7117.