Underwood started the 2018 season with the Iowa Cubs. On June 25, 2018, the Cubs promoted Underwood to the major leagues to make his first start against the Los Angeles Dodgers.[9] He was optioned back to Iowa after the game, and spent the remainder of the year in Iowa. He returned to Iowa to begin 2019. He returned to the Chicago Cubs on August 6, 2019, and struck out all six batters he faced in his first appearance. Underwood appeared in 17 games for the Cubs in 2020 and pitched to a 5.66 ERA with 27 strikeouts in 20+2⁄3 innings pitched.[10]
On March 2, 2021, Underwood was designated for assignment after the signing of Ryan Tepera was made official.[11]
Pittsburgh Pirates
On March 7, 2021, the Cubs traded Underwood to the Pittsburgh Pirates in exchange for Shendrik Apostel.[12] In 43 games for the Pirates, he registered a 4.33 ERA with 65 strikeouts and 72.2 innings pitched. On September 6, Underwood was placed on the 60-day injured list with right shoulder inflammation.[13] In 2022, Underwood made 51 appearances out of the Pirates' bullpen, recording a 4.40 ERA with 57 strikeouts in 57.1 innings pitched.[14]
On January 13, 2023, Underwood agreed to a one-year, $1.025 million contract with the Pirates, avoiding salary arbitration.[15] He pitched in 20 games for Pittsburgh, recording a 5.18 ERA with 14 strikeouts and 2 saves in 24.1 innings of work. Underwood was designated for assignment on May 27.[16] He cleared waivers and accepted an outright assignment to the Triple-A Indianapolis Indians on June 2.[17] On October 2, Underwood elected free agency.
New York Yankees
On December 14, 2023, Underwood signed a minor league contract with the New York Yankees.[18] In 32 appearances for the Triple–A Scranton/Wilkes-Barre RailRiders, he compiled a 3.26 ERA with 40 strikeouts and 3 saves over 38+2⁄3 innings pitched. Underwood was released by the Yankees organization on August 5, 2024.[19]
International career
Underwood is of Puerto Rican descent through his maternal grandmother.[20] During the 2023 World Baseball Classic (WBC), he pitched for the Puerto Rico national team. On March 13, 2023, he pitched in relief versus Israel and retired every batter faced in the eighth inning, after José De León started and Yacksel Ríos, Edwin Díaz kept the perfect game intact, and Martín Maldonado caught on the way to a 10–0 win. The contest ended when Maldonado scored on a walk-off hit in the bottom of the eighth inning that invoked the tournament's mercy rule. However, it did not qualify as an official perfect game per the Elias Sports Bureau, due to lasting fewer than nine innings.[21][22]