Harris was considered one of the top prospects for the 2015 Major League Baseball draft.[5][6] The Toronto Blue Jays selected Harris in the first round, with the 29th overall selection, of the draft.[7] He signed with Toronto on June 15, 2015.[8] Harris played the entire 2015 season with the Short Season-A Vancouver Canadians, where he posted a 6.75 ERA and 32 strikeouts in 36 innings pitched.[9] He was assigned to the Class-A Lansing Lugnuts to open the 2016 minor league season.[10] Harris was named an Eastern Division All-Star for Lansing on June 7.[11] He made 16 starts for Lansing, posting an 8–2 record, 2.23 ERA, and 73 strikeouts in 842⁄3 innings before being promoted to the Advanced-ADunedin Blue Jays in mid July. Harris would make eight starts for Dunedin, and pitch to a 3–2 win–loss record, 3.60 ERA, and 26 strikeouts in 45 innings.[9]
Harris played the entire 2017 minor league season for the Double-ANew Hampshire Fisher Cats. He made 26 starts and posted a 7–11 record, 5.41 ERA, and 113 strikeouts in 143 innings pitched.[9] On January 24, 2018, the Blue Jays invited Harris to spring training.[12] Harris did not make the team and split the year between the Triple-A Buffalo Bisons and New Hampshire, posting a 13-6 record and 4.61 ERA in 27 games.
Harris split the 2019 season between New Hampshire, Dunedin, and the rookie-level GCL Blue Jays, but played in only 6 games due to injury. Harris did not play in a game in 2020 due to the cancellation of the minor league season because of the COVID-19 pandemic.[13] On July 29, 2021, Harris was promoted by the Blue Jays to Triple-A Buffalo, but only played in 2 games for the team. He spent the majority of the 2021 season with Double-A New Hampshire, logging a 2.93 ERA with 34 strikeouts in 28 appearances. He became a free agent following the season on November 7, 2021.[14]
Kansas City Monarchs
On January 18, 2022, Harris signed with the Kansas City Monarchs of the American Association of Professional Baseball.[15] He made 14 starts for the team, recording a 4-2 record and 4.92 ERA with 58 strikeouts in 75.0 innings of work. Harris was released by the Monarchs following the season on December 22.[16]