United are understood to have struck a deal worth €85m (£72.9m) with no add-ons, which will see the 21-year-old become the fourth-most expensive signing in the Old Trafford club’s history.
Sancho, who is currently competing at Euro 2020 with England, came close to leaving Dortmund last summer but United were unable to meet the Bundesliga club’s €120m asking price.
The former Manchester City academy talent will instead join for marked down price, with only two years remaining on his contract at Signal Iduna Park.
Finalising Sancho’s personal terms is expected to be a formality, with a five-year deal on the table, and will undergo a medical after England’s Euro 2020 campaign is over.
City will receive 15 per cent of the fee – around £9m – having inserted a sell-on clause in the £8m deal which took him to Dortmund in 2017.
Ole Gunnar Solskjaer, the United manager, ended the season by claiming that the club would need to strengthen in order to build on their Premier League runners-up finish behind champions City.
Sancho has scored 50 goals in 137 appearances for Dortmund and set up another 64, marking himself out as one of the best young players in European football, but has struggled for regular minutes with England this summer.