No financial details were disclosed, but Italian media reported that the 27-year-old has joined Simone Inzaghi's side for a fee of around 32 million euros ($34.94 million), signing a five-year contract.
Sky Sports said United will pay 51 million euros ($56.70 million) for the 27-year-old plus four million in add-ons.
The 35-year-old arrives in Milan after an eight-year spell at Juventus, which ended at the end of June when his contract expired.
Skriniar's last season was plagued by injuries as he missed over 20 games in all competitions with Inter, who finished third in the Italian top flight. Skriniar has been linked to a move to Ligue 1 champions Paris St Germain.
The 37-year-old, who played in Inter's Champions League final defeat by Manchester City earlier this month, has signed a two-year deal with the Istanbul-based club.
"There are many. Inter are a team used not only to defend. There is a belief that Italian teams only know how to defend, but Inter can do many other things," a relaxed Guardiola told reporters on Friday.
City will be favourites against the Italian side, a situation they also found themselves in against Chelsea in the final two years ago, only to surprisingly lose.
Pep Guardiola's side have wrapped up a fifth Premier League title in six seasons, beat Manchester United to win the FA Cup last weekend, and could be crowned European champions for the first time with victory over Inter in Istanbul.
"I am happy, because we won a cup that we wanted, to confirm what we did last season. Fiorentina are a quality team who caused us a lot of problems."
Inter grabbed two early goals through Edin Dzeko and Henrikh Mkhitaryan and will take a big advantage into the second leg back at the San Siro on Tuesday.
It will be Inter's first semi-final appearance since they won the European Cup for the third time in 2010, the last Italian Champions League triumph with Juventus losing the 2015 and 2017 finals.
Spezia struck through Daniel Maldini and M'Bala Nzola's penalty to beat Inter for the first time, with Romelu Lukaku's equaliser from the spot counting for nothing in the end.
Porto midfielder Otavio was sent off 12 minutes from time and Belgian striker Lukaku took full advantage to boost Inter's bid to qualify for the quarter-finals of Europe's premier club competition for the first time in 12 years.
The annual meeting between the Coppa Italia winners and Serie A champions was played at the King Fahd International Stadium in Riyadh, Saudi Arabia.
Napoli are still top of the table with 41 points after 16 games but their advantage over second-placed AC Milan, who beat Salernitana 2-1, narrowed to five points.
Lazio provisionally lead the standings with seven points from three games, while Inter are a point behind in fourth.
Needing four points from their final two games of the season, Milan stand on the brink of a first Serie A title since 2011.
Inter struggled considerably in the first half against an Empoli side who have won just once in their last 20 games.
Chasing a first league crown since the days of Diego Maradona, a sold-out stadium which bears their hero's name will host two teams locked on 57 points.
AC Milan slipped up for the second time in as many weeks on Friday with a 1-1 draw with Udinese which gave their Serie A title rivals a chance to reach them at the summit.