OFFICIAL: Zenit name Semak as new manager
Semak succeeds Roberto Mancini, who left to take over as Italy head coach this month.
The 42-year-old, who finished his playing career with Zenit in 2013 after winning two league titles with the club, had been head coach of Ufa since December 2016.
Zenit had also been linked with Maurizio Sarri, who is poised to leave Napoli following their announcement that Carlo Ancelotti will take over as coach for 2018-19.
It is reported Sarri rejected Zenit's advances as he would prefer to move to England's top flight, with Chelsea said to be keen to appoint him as replacement for Antonio Conte.