The 21-year-old, who previously spent a loan stint at Queens Park Rangers before returning to Old Trafford through injury, has failed to break into the United first team due to Wayne Rooney, Robin van Persie, Danny Welbeck and Javier Hernandez standing in his way.
"I have followed the Bundesliga and naturally know about Stuttgart," Macheda told the club's official website. "I am glad that I can now play for the club.
"For me, it is about getting to know the team and what I can bring because we have a lot of interesting games in three different competitions in front of us."
Macheda joined United's youth academy in 2007 from Lazio.