The 28-year-old, who played under United manager Louis van Gaal when they were both at Dutch side AZ Alkmaar, left Sampdoria in the summer at the end of his contract.
“To play for the biggest club in the world is a dream come true for me,” he told United’s website.
“Louis van Gaal is a fantastic manager and I cannot wait to get started on this new and exciting challenge in my career.”
Romero has joined United on their pre-season tour of the United States, where they beat Barcelona 3-1 on Saturday.
“Sergio is a very talented goalkeeper. He was a young keeper during my time at AZ Alkmaar and I am delighted he is joining Manchester United,” said Van Gaal.
Romero and his new manager also crossed paths last summer at the World Cup where Argentina eliminated the Van Gaal-coached Netherlands in a semi-final penalty shootout.
“He had a fantastic World Cup last summer in Brazil, although that is something I have put to the back of my mind! He will be a great addition to the team and I am looking forward to working with him once again,” added Van Gaal.
Romero’s arrival is expected to herald the departure of United’s backup Victor Valdes, who was left out of the tour party and told to leave the club due to a row with the manager.
Van Gaal said Valdes had refused to play for United’s reserve team, a claim disputed by the Spaniard.
Speculation also continues over the future of first-choice United keeper David De Gea, who has been linked with a move to Real Madrid, with the La Liga team’s defender Sergio Ramos coming to the English side as part of a swap deal.