Louis van Gaal’s side are understood to have paid £16 million for the Argentina international, with Nani joining the Portuguese giants as part of the deal.
"It is such an honour to say that I now play for Manchester United,” he told the club’s official website. “The Premier League is the most exciting league in the world and to have the chance to play in it for the world's biggest club is a dream for me.
“I am young and am very keen to continue to learn the game, so playing for such an experienced technical coach as Louis van Gaal is a fantastic opportunity for me. I have joined United to work hard with my team-mates to win trophies and I know that the manager shares that ambition."
Van Gaal had previously missed out on the signing of Thomas Vermaelen – the former Arsenal star instead joined Barcelona for £15m – but has expressed his delight at landing the 24-year-old.
"Marcos is a very gifted defender. He has played at the highest level in world football and can play either as a central defender or left-back," he added.
“He has ability, physical strength and a willingness to learn that means he has a very bright future ahead of him. He had a very strong World Cup and has been playing in Europe for a couple of years now.
“He is a very good addition to the team."