The Brazil international had repeatedly stressed that he was happy with life at the Portuguese giants and was ready to stay at Estadio do Dragao.
|HULK SIGNS FOR ZENIT
|11/1||Zenit are 11/1 with Bet365 to beat Malaga 2-0 in the opening game of their Champions League group
However, he opted to open talks with Zenit after his agent informed him that both clubs had reached an agreement over a transfer fee.
"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," Hulk was quoted as saying on the club's official website.
"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, Porto and Zenit.
"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."
The 26-year-old has inked a contract with Zenit until the summer of 2017.