García was promoted to the Triple-A Albuquerque Isotopes to begin 2014. In 47 games for the Isotopes, he was 4–2 with a 3.10 ERA.[3] He was called up to the Dodgers on September 1, 2014. He made his debut that night, in the eighth inning, against the Washington Nationals. He gave up a hit to the first batter he faced, Bryce Harper, but then worked 2 scoreless innings, getting his first MLB strikeout on his last batter, Anthony Rendon.[4][5] He pitched in eight games for the Dodgers, allowing two earned runs in 10 innings. He struck out nine batters while walking only one. Both runs he allowed were on solo homers on September 27 to Brandon Barnes and Michael McKenry of the Colorado Rockies.[6]
In 2015, García appeared in 59 games for the Dodgers, making one start, and was 3–5 with a 3.34 ERA.[7] He appeared in just nine games in 2016, pitching 8 1⁄3 innings with a 3.24 ERA.[1] He was shut down on April 22 with right biceps soreness and experienced a setback on his rehab assignment on July 29, ending his season.[8] He underwent arthroscopic surgery on his left knee in September[9] and then on October 25 he underwent Tommy John surgery.[10] Despite missing the entire 2017 season, the Dodgers signed him to a $630,000 one-year contract for 2018, to avoid salary arbitration.[11]
Garcia returned to the majors on May 3, 2018.[12] The following day, against the San Diego Padres at Estadio de Béisbol Monterrey, he pitched a scoreless eighth inning and was one of four pitchers involved in a combined no-hitter.[13] He pitched in 25 games in 2018, with a 5.64 ERA.[1] The following year, he improved his numbers and, as a result, saw his usage rise. He appeared in 64 games for the Dodgers in 2019, with a 3.61 ERA and 66 strikeouts.[1]
On December 20, 2019, García signed a one-year, $1.1 million contract with the Miami Marlins.[15] He pitched 15 innings in 14 appearances for the Marlins in 2020, striking out 19, for an ERA of 0.60.[16] He and the Marlins agreed to a $1.9 million contract on January 15, 2021.[17] García became the Marlins closer in 2021 and posted a 3.47 ERA with 15 saves, striking out 35 in 36+1⁄3 innings with Miami.
Houston Astros
On July 28, 2021, Garcia was traded to the Houston Astros for minor league outfielder Bryan De La Cruz and pitcher Austin Pruitt.[18] With Houston, García was 1–2 with a 5.48 ERA. In 23 relief appearances, he pitched 21+1⁄3 innings, striking out 25 batters.[19] On November 3, 2021, García elected free agency.[20]
Toronto Blue Jays
On December 1, 2021, García signed a two-year, $11 million contract with the Toronto Blue Jays.[21] In 61 relief outings for Toronto in 2022, he compiled a 4–5 record and 3.10 ERA with 58 strikeouts across 61 innings pitched.[22]
García made 73 relief appearances for the Blue Jays in 2023, with a 3–4 record and 4.09 ERA with 79 strikeouts over 66 innings.[23] He reached 100 appearances with Toronto on July 30, vesting a guaranteed $6 million contract for him in 2024.[24] With Toronto to start 2024, he had a 2.70 ERA with 42 strikeouts and 5 saves in 29 appearances.[25]
Seattle Mariners
On July 26, 2024, García was traded to the Seattle Mariners in exchange for Jonatan Clase and Jacob Sharp.[26] After less than a month in Seattle, García was placed on the 10-day injured list with right elbow inflammation on August 20.[27] He was moved to the 60-day injured list on September 10, ruling out a return in 2024.[28] In 10 games with the Mariners, García allowed six earned runs and struck out seven in 9 innings.[1]