Brazil striker Hulk, who had talks with Chelsea in May, has joined Zenit St Petersburg from Porto in a transfer deal worth £32m.
The 26-year-old has signed a five-year contract with the Russian champions, who are managed by Luciano Spalletti.
Zenit have also completed the signing of midfielder Axel Witsel, 23, from Benfica for a similar fee.
Hulk said: "I was very happy in Portugal and I want to be happy in Russia too."
Witsel, capped 30 times by Belgium, began his career at Standard Liege.
Like Hulk, he has also signed a five-year contract with Zenit.
Hulk, who can also play on the wing, had talks with Roberto Di Matteo's Chelsea after Didier Drogba announced he was leaving Stamford Bridge in the wake of the club's Champions League triumph over Bayern Munich.
The Brazilian joined Porto from Japanese side Tokyo Verdy in 2008 and scored 54 goals for them in 103 league matches.
Hulk, who appeared for Brazil in this summer's Olympic football tournament, and Witsel have been brought in to help Zenit's Champions League campaign which begins on 18 September away to Malaga.
Zenit have also been drawn in the same group as AC Milan and Anderlecht.
"We were trying to sign them before the 3 September deadline for the Champions League so they can play for us in that competition as well as the Russian League," said Zenit St Petersburg spokesman Dmitry Tsimmerman.
Zenit are currently top of the Russian league with 16 points from seven matches.
Speaking to the Russian club's website, Hulk thanked Porto for introducing him to European football and described his move to Zenit as "another victory, another important step".