The Detroit Tigers selected Stewart with the 34th overall pick of the 2015 MLB draft as compensatory pick they received after losing Max Scherzer as a free agent during the previous off-season.[6] He was the second player drafted by Tigers in the first round of the draft, after Beau Burrows.[1] Stewart signed with the Tigers,[7] and spent the 2015 season with GCL Tigers, Connecticut Tigers, and West Michigan Whitecaps, posting a combined .285 batting average with ten home runs and 44 RBIs in 71 total games between the three clubs.
Stewart started the 2016 season with the Lakeland Flying Tigers and was later promoted to the Erie SeaWolves;[8] he posted a combined .255 batting average with 30 home runs and 87 RBIs between both teams. During the 2016 season, he played in the All-Star Futures Game.[9] His homer total tied him for fifth among all Minor Leaguers in all organizations, while his 24 home runs, .534 slugging percentage and .924 OPS in 104 games at Lakeland led the Florida State League. He was named the Tigers Minor League Player of the Year.[10]
Stewart returned to Erie in 2017 and spent the whole season there, compiling a .256 batting average with 28 home runs and 86 RBIs in 136 games.[11][12] He was named the Tigers Minor League Player of the Year for the second year straight.[13]
The Tigers promoted Stewart to the major leagues on September 9, 2018, and he made his major league debut that day as a pinch-hitter.[17] On September 10, Stewart got his first major league hit, a single off former Tiger Justin Verlander.[18]
On September 20, Stewart hit his first two major league home runs in his first two at-bats against the Kansas City Royals and had six RBI in the game. It was the first time a Tiger player hit his first two major league home runs in the same game since Brent Clevlen in 2006, the first time a Tiger rookie had a six-RBI game since Ryan Raburn had a seven-RBI game in 2007, and the first time since 1908 that a Tiger player had a six-RBI game within his first 11 contests.[19] With the Tigers for the season he batted .267/.375/.417.
Stewart won the starting left field job for the 2019 Tigers, and hit a game-winning home run on opening day, March 28, against the Toronto Blue Jays.[20] He hit his first career grand slam on April 6 against the Kansas City Royals, which also proved to be the game winner in the Tigers 7–4 victory.[21] Stewart completed his 2019 season hitting .233/.305/.388 with 10 home runs and 40 RBI in 369 at-bats.
Stewart started in left field for the Tigers in 2020. On September 9 he was optioned down to the alternate training site after hitting .171.[22] The training site was created during the COVID-19-shortened 2020 season due to the minor league season being canceled.[23] He batted .167/.225/.300 for the season.
On April 1, 2021, Stewart was designated for assignment by the Tigers after Derek Holland was added to the roster.[24] On April 6, Stewart cleared waivers and was outrighted to the alternate training site.[25] With the Toledo Mud Hens he batted .254/.339/.538. On November 9, Stewart declined his minor league assignment and became a free agent.[26]
Boston Red Sox
On November 30, 2021, Stewart signed a minor league contract with the Boston Red Sox.[27] He played in 103 games for the Triple–A Worcester Red Sox, hitting .237/.364/.450 with 19 home runs, 55 RBI, and 9 stolen bases. Stewart elected free agency following the season on November 10, 2022.[28]