Portuguese international Nani will go in the opposite direction on a season's loan.
United's official website (www.manutd.com) said Rojo's contract was for five years and that the fee was 20 million euros ($26.53 million).
The 24-year-old started his career in Argentina with Estudiantes de la Plata, moving to Spartak Moscow and then Sporting.
He has played 28 times for Argentina, including the World Cup final against Germany.
"It is such an honour to say that I now play for Manchester United. 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," Rojo said.
"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, whose first league match in charge of United ended in a shock home defeat by Swansea City last Saturday, said: "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 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."
United's next game is away to Sunderland in the Premier League on Sunday (1500 GMT).