McKennie made his Bundesliga debut in May, coming off the bench in Schalke's 1-1 draw with Ingolstadt. The 19-year-old has made four Bundesliga appearances in the 2017-18 campaign, starting each of Schalke's past two matches in central midfield.
"Weston will develop into a key part of our first team with us. Weston has shown in the past few months that he is more than capable of contributing significantly to the future of Schalke," sporting director Christian Heidel said in a news release. "Thanks to his talent and his willingness to learn, Weston has made the rise from the U19s to the Bundesliga and it's been a success from the get go. We're very happy that Weston sees his long-term future to be at FC Schalke 04."
A product of the FC Dallas youth system, the U.S. Under-20 national team midfielder signed with Schalke in August 2016 on a contract that initially ended in June 2020.
"It was an easy decision for me to make. I love the club and everything here: my teammates, the head coach and the fans," McKennie said. "I'd love to stay here forever."