According to police in the northeastern Swiss city, the victim was shot by an unknown perpetrator on Webergasse not far from St Gallen's famous Baroque abbey in the Old Town.
The assailant fled towards Gallusplatz.
Despite receiving immediate treatment, the victim – a 42-year-old man – died at the scene.
Police are appealing for information to help catch the perpetrator, who was described by a witness as aged between 40 and 50, overweight, wearing light blue jeans, a dark jacket and a cap, and carrying a blue umbrella.
Anyone with information is requested to call St Gallen cantonal police on 058 229 49 49.
The murder comes just days after another man was shot dead near a bakery in the Vernier area of Geneva.
The man, in his 30s, was shot “several times in the head” outside the bakery on Avenue des Libellules on Monday around 6pm, a witness told paper 20 Minutes.
The perpetrator, who police believe knew the victim, was arrested at the scene.