The Turkish club have announced the signing of the Portugal international for a fraction of the fee that saw him move to Russia three years ago
The 31-year-old, who joined the Russian outfit in 2010 for a €22m [£18m] fee, has opted to join last season's Europa League semi-finalists after signing a three-year deal with the Istanbul outfit.
"Bruno Costa and Zenit St. Petersburg have agreed to the transfer for a fee of €5.5 million [£4.7m]. The player will be under contract for three seasons and will be paid €2.5 million [£2.1m]," read an official Fenerbache statement.
The Portugal international has been capped 63 times for his country and has made the switch to the Turkish side who finished second in the Super Lig last season.
Alves was twice a Russian Premier League winner with Zenit, having previously spent nine seasons with Porto in his homeland.
He is currently with Paulo Bento's national squad in preparation for Friday's crucial World Cup qualifier with Russia.