The 25-year-old, who has scored seven goals in 29 internationals, signed a contract until 2020. No transfer fee details were disclosed.
Mak was part of Manchester City's academy before moving to Nuremberg and PAOK Salonika.
Man City ready to return with Kane bid as early as January - Paper Round
Zenit finished third in the Russian championship last season under Andre Villas-Boas.
'Keep your dignity' - Bruce accepts 'frustrations' as winless run continues
Pele's health allegedly deteriorating as he returns to ICU