The 29-year-old, who is captain of the Russia, has made the move after 11 years at Meshki, joining their Premier League rivals in the process
The 29-year-old, who is the captain of the Russia national team, is a brilliant addition to Anzhi's side, according to general director Ayvaz Kaziakhmedov.
"We are certainly very excited about this signing," he told the club's official website.
"We believe our club has signed a very high quality addition to the team in Igor [Denisov]."
Denisov, meanwhile, called Anzhi, "the most dynamic club" to play for.
The midfielder has made 37 appearances for Russia since his debut in 2008.
He won the Uefa Cup with Zenit in the same year, as well as three Russia Premier League titles between 2007 and 2012.
However, Denisov's time at Zenit has been fraught in recent times, having led a rebellion because of the wages given to new signing Hulk last year which also reportedly led to training ground bust-ups.