Hulk surprised by Zenit St. Petersburg deal
The Brazil international repeatedly stressed he was happy at the Estadio do Dragao and even stated his intentions of winning a third title with the Portuguese champions this season.
However, the forward opted to open discussions with Zenit upon hearing from his agent that both clubs had agreed on a transfer fee.
The 26-year-old said: "I wasn't expecting this. After Saturday's game I said I would help Porto win a third title in a row. Suddenly my agent rang to say a deal was done.
"I had no reasons to leave, but my agent called me and told that Porto and Zenit have reached a deal. This will be good for me.
"This is another victory, yet another important step in my life. But I must say how grateful I am to Porto for opening the door to Europe. I was very happy in Portugal.
"I want to be happy at Zenit and in Russia as well. I want to keep moving in the same direction: winning matches and many titles as I did with Porto."
Hulk has signed a five-year contract with the Russian side, keeping him at the club until the summer of 2017.
He joined Porto from Japanese side Tokyo Verdy in 2008 and scored 54 goals in 103 appearances.
The Brazilian has been capped 13 times and earned a sliver medal at the London Olympic Games with the Seleção, where he scored in the final 2-1 defeat to Mexico.
Hulk could make his debut for Zenit on September 15 against Terek Grozny in the Süper Lig, or during the Champions League group stages, which start on September 18.