The 22-year-old has signed a five-year contract with the La Liga club after successfully passing a medical on Wednesday.
The news was confirmed by both clubs, with United writing on their official website: "Adnan Januzaj has completed a transfer from Manchester United to Real Sociedad.
"Jose Mourinho allowed Adnan to spend last season on loan at Sunderland and now the 22-year-old forward has taken the tough decision to leave United and make the move San Sebastian.
"Everybody at Manchester United wishes Adnan well for the next chapter of his career."
United manager Jose Mourinho reportedly insisted that a buy-back clause be inserted into the contract, although neither club have disclosed the details of the deal.
Januzaj broke into United's first team under David Moyes and was one of the few bright points in a dismal 2013-14 season.
He had a short but unsuccessful spell with Borussia Dortmund in 2015, before returning to Old Trafford for the final few months of Louis van Gaal's time as manager.
The Belgium international spent 2016-17 on loan at Sunderland but struggled to make an impact under former boss Moyes, as the club suffered relegation from the Premier League.