The 22-year-old Malcom made only 15 La Liga appearances, scoring once, after arriving at the Camp Nou from Bordeaux in July 2018.
Now, the Brazilian forward is leaving Barcelona after a single season to sign a five-year deal with Zenit St Petersburg.
Zenit boss Sergei Semak told the club website: “We looked at Malcom a year ago but the transfer fee was too much for us – this year we had an opportunity to sign him.
“We understand the level of competition at Barcelona”.
It appears that Zenit will be paying a €40m transfer fee, a similar figure to the one paid to Bordeaux when he joined Barcelona.
Lastly, he added that “Malcom has decided to join our club, so we are very pleased.”