Washington Nationals Minor leagues López signed with the
Washington Nationals as an international free agent in June 2012. His signing bonus of just $17,000 was relatively tiny compared to most other contemporaneous Latin American prospects that would reach his same level of success in the minor leagues. The lower signing bonus may have been because Lopez took several years off of baseball to finish his high school degree, and signed at age 18. He made his professional debut that season with the
Dominican Summer League Nationals, where he pitched to a 1–1
win–loss record and 3.38
earned run average (ERA) in innings pitched. López started one game each for both the
Auburn Doubledays and
Hagerstown Suns in 2013. He pitched for the same two teams in 2014, starting 16 games and finishing with a 7–3 record and 1.08 ERA. In 2015, he pitched for the
Potomac Nationals where he was 6–7 with a 4.09 ERA in 19 starts. López started the
2016 season with the
Harrisburg Senators. After posting a 3.18 ERA with the Senators through 14 starts, he was promoted to the
Syracuse Chiefs on June 27, 2016. He appeared in the 2016
All-Star Futures Game, retiring all three batters he faced as a pitcher for Team World.
Major leagues On July 17, 2016, Nationals manager
Dusty Baker announced López would be called up to make his major league debut with a start on July 19, 2016, against the
Los Angeles Dodgers at
Nationals Park in
Washington, D.C. During the game, he gave up a lead-off home run to
Chase Utley, allowed three runs in the first inning, and gave up hits to seven of the first 11 batters he faced. After that, he improved considerably, retiring eight batters in a row at one point, striking out six of them. The Nationals lost the game 8–4, and he was the game's losing pitcher. López left the field to a standing ovation by Nationals fans. The Nationals sent López back to Syracuse on July 20, 2016, to make room on their roster for relief pitcher
Koda Glover, who made his major league debut the evening after Lopez's debut. He was recalled and optioned multiple times after his debut. In 19 starts between Harrisburg and Syracuse he compiled a 5–7 record and 3.21 ERA, and in 11 games (six starts) for the Nationals, he was 5–3 with a 4.91 ERA.
Chicago White Sox On December 7, 2016, López was traded with
Lucas Giolito and
Dane Dunning to the
Chicago White Sox in exchange for
Adam Eaton. López began 2017 with the
Charlotte Knights before being called up on August 11. He was placed on the
disabled list on August 19 and activated September 1. In 22 starts for Charlotte he pitched to a 6–7 record and 3.79 ERA, and in eight starts for the White Sox he was 3–3 with a 4.72 ERA. López began 2018 with Chicago in the
starting rotation. He finished the season with a record of 7–10 in 32 starts. In 2019, he was 10–15 with a 5.38 ERA, and gave up the longest home run of the season in the major leagues, a 505-foot homer. He allowed the lowest ground ball percentage of all major league pitchers (35.0%). With the
2020 Chicago White Sox, López appeared in eight games, compiling a 1–3 record with 6.49 ERA and 24 strikeouts in innings pitched. López did not make the White Sox' Opening Day roster for the 2021 season. He began the year with Charlotte. He was called up on July 16 where he made his season debut coming out of the bullpen going 2 innings, gave up 1 hit, and struck out 1. He made his first start in 2021 against the
Minnesota Twins during game 2 of a doubleheader, going 3 innings, giving up 2 runs and 1 home run, and struck out 3 as the White Sox won 5-3. On August 11, López was promoted to the starting rotation due to an injury to
Carlos Rodón. On August 28 against the
Chicago Cubs, he was called in after a 6-run first inning to pitch, throwing five perfect innings. Overall in 2021, Lopez appeared in 20 games while making 9 starts, with an ERA of 3.43 and a 4-3 record. He pitched in innings and struck out 55 batters. In 2022, López came out of the bullpen and did very well. His average velocity for his fastball in 2022 was 97 miles per hour, and did hit 100 miles per hour in a few appearances. López went 6–4 in 61 games while making 1 start, pitching to an ERA of 2.76 in innings while striking out 63 batters.
Los Angeles Angels On July 26, 2023, López and
Lucas Giolito were traded to the
Los Angeles Angels in exchange for minor league players
Ky Bush and
Edgar Quero. He was placed on waivers on August 29, after posting a 2.77 ERA in 13 relief appearances.
Cleveland Guardians On August 31, 2023, López was claimed off waivers by the
Cleveland Guardians. He made 12 scoreless appearances for the Guardians, striking out 12 batters over 11 innings of work.
Atlanta Braves On November 20, 2023, López signed a three–year, $26 million contract with the
Atlanta Braves. On March 18, 2024, López was given the fifth rotation spot for the major league roster after
Bryce Elder and
Huascar Ynoa were cut from the spring training camp. López was selected to his first All-Star Game roster as a reserve, alongside teammates
Marcell Ozuna,
Chris Sale, and late add
Max Fried. In 26 appearances (25 starts) for Atlanta on the year, López compiled an 8-5 record and 1.99 ERA with 148 strikeouts across innings pitched. López and the Braves agreed to a restructured contract in November 2024, which would pay López $8 million in 2025, $14 million in 2026, and guaranteed the team option for 2028 at $8 million. On April 1, 2025, López was placed on the 15-day injured list with a shoulder injury, and was transferred to the 60-day injured list two days later. On April 8, it was announced that he would miss at least 12 weeks after undergoing
arthroscopic surgery on his right shoulder. On April 7, 2026, López, threw a pitch up to
Los Angeles Angels designated hitter and former teammate,
Jorge Soler, who hit a home run his first at-bat and later hit by pitch his second at bat against López. Taking exception to the pitch, both players stared each other down, before Soler eventually
charged the mound. They exchanged punches, with López still holding the baseball in his right hand as he threw a punch. Soler eventually was taken down by his former bench coach and current Braves manager,
Walt Weiss and catching coach,
Dustin Garneau. Both players were ejected from the game due to fighting. The next day, MLB suspended López and Soler seven games. ==Pitching style==