Zenit St Petersburg have signed Barcelona winger Malcom for a fee of €40 million (£36.5m/$44.5m), plus €5 million (£4.6m/$5.6m) in add-ons.
The Brazilian leaves the Camp Nou just a year after joining the club from French side Bordeaux.
The 22-year-old made 24 appearances in all competitions for Ernesto Valverde’s side last season, scoring four goals.
The La Liga champions say they will be due a percentage of any fee should Zenit sell Malcom in the future.
He leaves Barca having helped the club win the La Liga title and the Supercopa de Espana during his sole season in Catalonia.
Barca fought off strong competition from Italian side Roma to sign Malcom for €41 million in July 2018.
However, he struggled to force his way into a side already well stocked with attacking players.