McTominay is a product of United's academy, with the 20-year-old being handed his first opportunity in the first team in a Premier League fixture away at Arsenal in May.
Manager Jose Mourinho made the decision to keep McTominay in his first-team squad in the summer - instead of loaning the player out to a Championship side - and the Portuguese has said that he has "total belief" in the midfielder.
The 54-year-old told the club's official website: "I am delighted Scott has signed a new contract, he is one of our young players that has gone from strength to strength.
"He made his Premier League debut at the end of last season and made his Champions League debut this season. I had no hesitation in promoting Scott to the first-team squad last month as we have total belief in him."
McTominay has made a total of four first-team appearances, with his most recent outing coming as an 89th-minute substitute in Wednesday's 1-0 win over Benfica in the Champions League.