The 30-year-old had been on loan at Besiktas from Burnley, but the Turkish giants announced they had received 2.8 million euros ($3 million, £2.5 million) to cut that deal short.
United have been short of strikers since Cristiano Ronaldo's contract at Old Trafford was terminated in November.
Weghorst joined Burnley from Wolfsburg for £12 million in January 2022 but scored just two Premier League goals as the Clarets were relegated last season.
However, he struck nine times in 18 games for Besiktas and scored twice for the Netherlands in a thrilling World Cup quarter-final against eventual champions Argentina last month.
"I feel privileged to be joining Manchester United," Weghorst said in a club statement.
"I've seen United's progress under Erik ten Hag this season and can't wait to start playing my part in pushing the team towards its aims."
Weghorst was not registered in time to be able to feature against Manchester City on Saturday.
But he will add extra depth with the Red Devils still involved in four competitions.
"Wout has a consistent goalscoring record across several European leagues, and his attributes will add a further dimension to our squad for the remainder of the season," said United's football director, John Murtough.