Draft and minor leagues The
Houston Astros selected McCullers in the first round, with the 41st overall selection, of the
2012 Major League Baseball (MLB) draft. He signed with the Astros, receiving a $2.5 million
signing bonus. In 8 games playing for the Astros’ rookie ball affiliates, McCuller Jr. had a 3.46 ERA with a 0-4 record. McCullers pitched for the
Quad Cities River Bandits of the
Single-A Midwest League in 2013, for whom he was 6–5, as the team won the Midwest League championship. For the 2014 season, McCullers was 3–6 in the minor leagues, and was promoted to the
Lancaster JetHawks of the
High-A California League. McCullers began the 2015 season with the
Corpus Christi Hooks of the
Double-A Texas League. The Astros promoted him to the
Fresno Grizzlies of the
Triple-A Pacific Coast League on May 14, and, on the following day, announced that he would make his major league debut on May 18.
Houston Astros 2015–16 In his major league debut on May 18,
2015, McCullers allowed one run, three walks and three hits while striking out five batters in innings and took a no-decision in the Astros' 2–1 loss to the
Oakland Athletics. McCullers threw his first career
complete game against the
Baltimore Orioles on June 3, 2015, reaching 11 strikeouts for the first time. He remained in the Astros rotation and finished with 22 starts. McCullers began the
2016 season on the
disabled list with shoulder soreness. He finished the season 6–5 in 14 starts.
2017 The Astros assigned McCullers to the starting rotation at the outset of
2017 season. From May 6–23, he delivered 22 scoreless innings, which among Astros pitchers, was the longest scoreless inning streak since
Roy Oswalt completed 32 from August 27 through September 11,
2008. In that same span, McCullers also became the first Astros pitcher since
Nolan Ryan in
1984 to allow no
earned runs over at least five innings pitched in each of four consecutive appearances. For the month of May, McCullers won his first
American League (AL)
Pitcher of the Month Award. He was credited with a 4–0 record over six starts. He permitted an AL-leading 0.99
earned run average (ERA), 21 hits, and a .164
batting average against (BAA) with 37 strikeouts. He also ranked second in wins, third in BAA, and tied for fifth in strikeouts. He was selected to the
All-Star Game, finishing the first half of the season with a record of 7–2 and 106 strikeouts. With a recurring back injury, McCullers returned to the DL after July 30, after posting a 7.45 ERA and 1–5 record in between DL stints. In a key moment in this game, after losing command and walking a batter, he threw 24 consecutive curveballs to retire the last six Yankees in a row. In the World Series, McCullers drew the start in Game 3 and again in Game 7. The Astros won the Series in the seventh game for the first title in franchise history.
2018–20 McCullers began the
2018 season in the rotation. He started on July 6, 2018, by holding the
Chicago White Sox hitless for the first innings on the way to setting a career-high with 12 strikeouts over 7 innings. He finished with 1 run allowed on 3 hits. McCullers compiled a 10–6 W–L record through 22 starts before landing on the disabled list on August 5 with discomfort in his right elbow. After missing more than a month because of the injury, he returned towards the last two weeks of the regular season in a bullpen role, appearing in three games. He threw a curve 47.4% of the time, tops in MLB. On November 6, 2018, McCullers underwent
Tommy John surgery to repair a torn
UCL in his right elbow and was ruled out for the entire
2019 baseball season. He completed his rehab from Tommy John surgery in early November 2019. In
2020, McCullers was 3–3 with a 3.93 ERA. He pitched 55 innings with 56 strikeouts in 11 starts.
2021 On March 24,
2021, McCullers and the Astros agreed to a five-year, $85 million contract extension that included a $3.5 million signing bonus. McCullers finished the 2021 season with a 13–5 record, a 3.16 ERA, and 185 strikeouts in innings over 28 starts. He led the major leagues with 76 walks and 4.21 walks per 9 innings. He established new career highs or career bests to that point in his career in numerous categories, including in ERA, games won, games started, strikeouts, innings pitched, batters faced (684),
hits per nine innings allowed (H/9, 6.8), and
home runs per nine innings (HR/9, 0.7). Among qualified pitchers, he led the AL in H/9 and HR/9, and ranked second in ERA. Following the regular season, the Houston chapter of the
Baseball Writers' Association of America (BBWAA) named McCullers the Astros' team Pitcher of the Year, his first such award. During the
2021 ALDS versus the
Chicago White Sox, McCullers was removed from Game 4 due to a right forearm injury. He was unable to participate in the remainder of the
playoffs, in the which the Astros reached the
World Series, and were defeated by the
Atlanta Braves in six games.
2022 Still recovering from the forearm injury, McCullers was diagnosed with a right
flexor tendon strain, and was unable to throw in spring training and missed the start of the
2022 season. On August 13, he made his season debut and earned the win after hurling six shutout innings versus the
Oakland Athletics. He allowed two hits, walked four, and struck out five. McCullers went innings on September 2, allowing two runs, six hits, four walks and striking out seven to earn the win in a 4–2 final versus
Los Angeles. He hurled six innings on September 15, issuing four walks, two hits, and two runs as he struck out 11 Athletics, his most since July 29, 2018. On September 21, McCullers worked seven innings versus his hometown
Tampa Bay Rays and was the winning pitcher, allowing two runs to lead the Astros in a 5–2 final score for the series sweep, their first-ever at
Tropicana Field. In 2022 for Houston, McCullers was 4–2 with a 2.27 ERA in innings in which he struck out 50 batters in eight starts. In the third game of the
ALDS, McCullers hurled the first six innings of a major league postseason-record 18-inning shutout and series-clinching sweep of the
Mariners. The game remained scoreless for an unprecedented 17 innings in postseason history—until rookie
Jeremy Peña homered in the top of the 18th to eventually win it for the Astros, 1–0. In Game 4 of the
ALCS, he tossed 5 innings and allowed 3 runs to receive a no-decision as the Astros rallied to defeat the
Yankees, 6–5, for the clinching game and series sweep. In Game 3 of the
World Series versus the
Philadelphia Phillies, McCullers became the first pitcher in postseason history to allow five home runs in a game. However, the Astros claimed the championship in six games to give McCullers his second World Series title.
2023–present During
spring training in
2023, McCullers developed a
muscle strain in his right arm, and was shut down from throwing until fully recovered. As a result, he missed the start of the regular season. On June 14, 2023, he underwent season–ending surgery to repair the flexor tendon in his pitching arm and remove a
bone spur. After he was shut down from throwing in July
2024 while rehabbing, the Astros announced that McCullers would also miss the entire 2024 season. On January 25,
2025, it was announced that McCullers would likely not be ready for Opening Day. After a 915-day absence, he made his season debut on May 4, 2025, at
Rate Field versus the
White Sox, and tossed scoreless innings with three hits, three walks allowed, and four strikeouts. However, he surrendered 7 first-inning runs to the
Cincinnati Reds in his second start, which led to the eighth time in Astros franchise history that they had been scored upon at least 10 times in a single inning. McCullers rebounded on May 28, matched his career-high of 12 strikeouts against the
Athletics, yielding 3 runs over 6 innings as the Astros eventually mounted a comeback and won, 5–3. He earned his 50th career win on June 3—and first since September 21, 2022—tossing six shutout innings while outdueling
Paul Skenes in a 3–0 win versus the
Pittsburgh Pirates. ==Awards==