The Dutch left-back, who signed a five-year contract at Old Trafford in the summer of 2012, was surplus to requirements after the Red Devils secured the signature of Luke Shaw
The Russian club had declared an agreement for the left-back on Tuesday, with his switch going through officially after the Red Devils confirmed the arrival of Luke Shaw in his position on Friday.
"I want to play in the Champions League and win trophies," Buttner told his new club's official website after the initial announcement of a deal.
"Dinamo have a very strong team and I believe we can fight for first place this season."
Shaw became the most expensive teenager in football history on Friday as he sealed a £30 million move to Old Trafford. Combined with Patrice Evra's contract extension, there was no room for Buttner after only two years at the club.
"Dinamo Moscow has great plans for the future and they want to challenge for the title," the defender's agent told Voetbal International earlier in June. "To stay at Manchester United was not an option for Buttner.
"In the past two years, Louis van Gaal has ignored Buttner time after time [for the Netherlands national team] so what kind of perspective does he have when Van Gaal becomes his new club coach?"