Russia skipper Semak signs for Zenit
"Semak had signed an agreement for a transfer to our club. (Friday) he will arrive in St Petersburg to sign a personal contract," Zenit said on their website.
Financial details of the move were not disclosed.
The 34-year-old midfielder, who captained Russia at Euro 2008 where they reached the semi-finals, becomes the second Kazan player to move to St Petersburg in the last two weeks following fellow Russian international Alexander Bukharov.
Semak helped Rubin win back-to-back Russian league titles in the past two years.
It was also the second major acquisition for Zenit in the last two days after Portugal defender Bruno Alves joined the St Petersburg club, backed by Russian energy giant Gazprom, for 22 million euros on Wednesday.
Undefeated Zenit, coached by Italian Luciano Spalletti, have built a nine-point lead at the top of the Russian league over second-placed CSKA Moscow halfway through the season.