The Ligue 1 confirmed the move on Wednesday after accepting a bid for the player who had been linked with QPR and Fulham among other teams.
Rubin had also been in the mix to sign the 22-year-old but their pursuit was in some doubt because of a domestic transfer embargo over unpaid debts to their former player Roman Adamov.
The move to Russia is reported to be more lucrative for M'Vila, who is banned from representing France until June 2014 over an unauthorised night out when on U21 international duty.
A Rennes statement read: "Stade Rennais, FC Rubin Kazan and Yann M'Vila have reached an agreement for the permanent transfer of the French international.
"After the traditional medical visit, the Rennes midfielder joined the Russian club officially on Wednesday evening."