Sardar Azmoun has joined Zenit from Rubin Kazan for a reported fee of €12million.
The forward, who rejoined Rubin for a second spell in 2017, has signed a three-and-a-half-year deal.
Known as the 'Iranian Messi' by some fans in his native Iran, Azmoun had been heavily linked with a move to Premier League side Wolves in January.
Nuno Espirito Santo's side had reportedly agreed to sign him on loan from Rubin, but the move fell through when Wolves refused to allow a compulsory purchase option included in the deal.
Azmoun, who helped Iran to the semifinals of the Asian Cup, was Zenit's second signing to be announced on Friday after it also confirmed the arrival of Wilmar Barrios from Boca Juniors.