Mitch Keller
#23 Active2026 Fantasy Baseball Player Profile
Mitch Keller’s 2025 season was a study in reliable mediocrity, as the veteran right-hander further established himself as a durable, if unspectacular, "innings eater" for the Pirates. Appearing in 32 games, Keller posted a 4.19 ERA and 1.26 WHIP over 176.1 innings—marks nearly identical to his 2023 and 2024 campaigns. While his 6-15 record was more a reflection of poor run support than his individual performance, concern mounted regarding his "stuff"; his average fastball velocity dipped to 94.0 mph, and his strikeout rate fell to a three-year low of 20.0%. He notably struggled down the stretch, stumbling to a 5.56 ERA after the All-Star break as hitters increasingly punished his four-seamer.
The 2026 season represents a transitional year for the 29-year-old, who now serves as the veteran bridge between ace Paul Skenes and a wave of high-upside prospects like Bubba Chandler and Thomas Harrington. Entering the third year of his five-year, $77 million extension, Keller was the subject of persistent trade rumors this winter (linked to the Braves and Orioles), but he remains the rotation’s stabilizing force. He officially kicked off his 2026 spring training on February 22 with a dominant two-inning scoreless stint against the Rays, where he unveiled an "absurd" new-look changeup featuring a completely redesigned grip. The goal for 2026 is to utilize this new weapon to reclaim the swing-and-miss profile he possessed during his 2023 All-Star season.
For fantasy managers, Keller is the quintessential "safe" late-round target with an ADP around 320.
DFS Last 5
Game Log
2026 Regular Season| DATE | OPPONENT | DEC | IP | H | R | ER | HR | BB | SO | ERA | WHIP | PC | RESULT |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Aug 2 | @ Cincinnati Reds | L | 2.0 | 6 | 7 | 7 | 2 | 4 | 2 | 5.84 | 1.40 | 69 | L 2-10 |
| Jul 27 | vs. Arizona Diamondbacks | 1.0 | 0 | 0 | 0 | 0 | 1 | 1 | 5.35 | 1.33 | 19 | W 2-3 | |
| Jul 9 | vs. Atlanta Braves | L | 3.0 | 4 | 3 | 3 | 1 | 2 | 3 | 5.40 | 1.34 | 72 | L 10-5 |
| Jul 3 | @ Washington Nationals | L | 6.0 | 8 | 5 | 5 | 3 | 0 | 1 | 5.29 | 1.32 | 83 | L 5-9 |
| Jun 28 | vs. Cincinnati Reds | W | 6.0 | 5 | 4 | 3 | 0 | 1 | 4 | 5.15 | 1.31 | 79 | W 4-9 |
| Jun 23 | vs. Seattle Mariners | L | 6.0 | 7 | 3 | 3 | 2 | 1 | 4 | 5.20 | 1.34 | 92 | L 3-2 |
| Jun 16 | @ Las Vegas Athletics | 5.1 | 5 | 5 | 4 | 1 | 4 | 7 | 5.25 | 1.34 | 96 | W 6-5 | |
| Jun 11 | vs. Los Angeles Dodgers | L | 4.0 | 7 | 5 | 5 | 1 | 4 | 3 | 5.14 | 1.31 | 98 | L 8-6 |
| Jun 5 | @ Atlanta Braves | L | 4.2 | 7 | 6 | 6 | 1 | 3 | 4 | 4.81 | 1.23 | 99 | L 3-6 |
| May 30 | vs. Minnesota Twins | 4.0 | 10 | 7 | 7 | 0 | 1 | 5 | 4.35 | 1.17 | 77 | W 9-10 | |
| May 24 | @ Toronto Blue Jays | W | 6.0 | 4 | 1 | 1 | 0 | 3 | 5 | 3.64 | 1.07 | 101 | W 4-1 |
| May 19 | @ St. Louis Cardinals | 5.2 | 4 | 4 | 4 | 1 | 1 | 3 | 3.86 | 1.06 | 83 | L 6-9 | |
| May 13 | vs. Colorado Rockies | L | 5.2 | 7 | 6 | 6 | 1 | 1 | 3 | 3.59 | 1.08 | 80 | L 10-4 |
| May 7 | @ Arizona Diamondbacks | W | 6.0 | 4 | 2 | 2 | 1 | 2 | 4 | 2.87 | 1.04 | 84 | W 4-2 |
| May 1 | vs. Cincinnati Reds | W | 7.0 | 3 | 1 | 1 | 0 | 1 | 6 | 2.85 | 1.05 | 104 | W 1-9 |
| Apr 25 | @ Milwaukee Brewers | 5.0 | 5 | 3 | 3 | 0 | 2 | 6 | 3.18 | 1.15 | 93 | W 6-3 | |
| Apr 19 | vs. Tampa Bay Rays | W | 7.0 | 5 | 2 | 2 | 0 | 0 | 5 | 2.79 | 1.10 | 89 | W 3-6 |
| Apr 14 | vs. Washington Nationals | L | 4.0 | 6 | 5 | 5 | 1 | 4 | 3 | 2.86 | 1.23 | 90 | L 5-4 |
| Apr 8 | vs. San Diego Padres | 6.0 | 3 | 0 | 0 | 0 | 1 | 4 | 1.00 | 0.94 | 75 | L 8-2 | |
| Apr 3 | vs. Baltimore Orioles | W | 6.0 | 6 | 2 | 2 | 0 | 4 | 4 | 1.50 | 1.08 | 88 | W 4-5 |
| Mar 28 | @ New York Mets | 6.0 | 3 | 0 | 0 | 0 | 0 | 3 | 0.00 | 0.50 | 77 | L 2-4 | |
| No games against that opponent. | |||||||||||||
| Total | 6-8 | 106.1 | 109 | 71 | 69 | 15 | 40 | 80 | 5.84 | 1.40 | 1,748 | ||
| Total | 2 games | 1-0 | 7.0 | 4 | 2 | 2 | 1 | 3 | 5 | 2.57 | 1.00 | 103 | |
| Total | 2 games | 0-2 | 7.2 | 11 | 9 | 9 | 2 | 5 | 7 | 10.57 | 2.09 | 171 | |
| Total | 1 game | 1-0 | 6.0 | 6 | 2 | 2 | 0 | 4 | 4 | 3.00 | 1.67 | 88 | |
| Total | 3 games | 2-1 | 15.0 | 14 | 12 | 11 | 2 | 6 | 12 | 6.60 | 1.33 | 252 | |
| Total | 1 game | 0-1 | 5.2 | 7 | 6 | 6 | 1 | 1 | 3 | 9.53 | 1.41 | 80 | |
| Total | 1 game | 0-0 | 5.1 | 5 | 5 | 4 | 1 | 4 | 7 | 6.75 | 1.69 | 96 | |
| Total | 1 game | 0-1 | 4.0 | 7 | 5 | 5 | 1 | 4 | 3 | 11.25 | 2.75 | 98 | |
| Total | 1 game | 0-0 | 5.0 | 5 | 3 | 3 | 0 | 2 | 6 | 5.40 | 1.40 | 93 | |
| Total | 1 game | 0-0 | 4.0 | 10 | 7 | 7 | 0 | 1 | 5 | 15.75 | 2.75 | 77 | |
| Total | 1 game | 0-0 | 6.0 | 3 | 0 | 0 | 0 | 0 | 3 | 0.00 | 0.50 | 77 | |
| Total | 1 game | 0-0 | 6.0 | 3 | 0 | 0 | 0 | 1 | 4 | 0.00 | 0.67 | 75 | |
| Total | 1 game | 0-1 | 6.0 | 7 | 3 | 3 | 2 | 1 | 4 | 4.50 | 1.33 | 92 | |
| Total | 1 game | 0-0 | 5.2 | 4 | 4 | 4 | 1 | 1 | 3 | 6.35 | 0.88 | 83 | |
| Total | 1 game | 1-0 | 7.0 | 5 | 2 | 2 | 0 | 0 | 5 | 2.57 | 0.71 | 89 | |
| Total | 1 game | 1-0 | 6.0 | 4 | 1 | 1 | 0 | 3 | 5 | 1.50 | 1.17 | 101 | |
| Total | 2 games | 0-2 | 10.0 | 14 | 10 | 10 | 4 | 4 | 4 | 9.00 | 1.80 | 173 | |
AVG, OBP, SLG, ERA and WHIP are season-to-date through each game, not that game alone — so the column reads as a trend and its last value is the season figure. They stay season-to-date when the log is filtered by opponent; the figure for the filtered games is the one in the Total row. The second game of a doubleheader is marked (2).
