The 10 WORST Contracts in the MLB in 2025
- Josh Green
- Feb 23
- 5 min read
MLB owners are constantly throwing money around, but sometimes they give too much to the wrong players at the wrong time. So here are the 10 worst contracts in the MLB entering the 2025 MLB season:

Kris Bryant:
7 years, $182 million
Ever since Kris Bryant's famed MVP season in 2016, his quality of play on the field has steadily declined year after year, but his salary certainly hasn't. When the Rockies signed Bryant to a 7-year, $182 million deal in 2022, it was already seen as overpaid. Fast forward three seasons, and "overpaid" is now an understatement. Kris Bryant played 159 games in those three seasons, failing to stay on the field for more than 80 in a single season. Bryant is one of the few players in the MLB whose hitting actually got worse in Coors Field. Bryant went from a league-average hitter in 2021 to batting a .680 and .623 OPS in his limited playing time. This all amounted to a war of -0.4 during his time in Denver thus far.
Taijuan Walker:
Four years, $72 million
After signing a four-year, $72 million contract with the Phillies in 2023, Taijuan Walker's pitching has been average at best and horrendous at worst. Walker posted a respectable 4.38 ERA in 31 starts in 2023, but he did not take the mound once during the Phillies' deep playoff run despite being healthy. In 2024, Taijuan Walker started just 19 games and recorded a ghastly 7.10 ERA paired with an awful 3-7 record considering that his team won 95 games. This performance caused Walker to be removed from the Phillies' starting rotation at the end of August 2024, and it's still unclear whether that status will remain for the 2025 season.
7 years, $245 million
When the Angels signed Anthony Rendon to a 7-year, $245 million contract in 2020 free agency, they could have put that money to better use by flushing it down a toilet. Since Rendon joined the Angels, he has averaged 50 games per season, a 0.76 war per season, and a batting average of .230. After four lackluster seasons of Anthony Rendon in an Angels' uniform, that money can no longer be salvaged.

Stephen Strasburg:
7 years, $246 million
In the 2020 offseason, the Nationals had a decision whether to hand a giant extension to either Stephen Strasburg or Anthony Rendon. Both players are on this list, so the Nats would have been better off not spending that money. Nevertheless, the front office gave Stephen Strasburg $246 million over seven years to play a whopping eight games for the rest of his career. Strasburg suffered major injuries in each of the next four seasons after the massive signing, resulting in him getting paid $35 million per year in retirement.
Giancarlo Stanton:
13 years, $325 million
Giancarlo Stanton has the oldest contract in Major League Baseball, and it's easily one of the league's worst. Stanton signed a 13-year, $325 million contract with the Marlins back in 2015, and was traded to the Yankees in year three of the deal. After winning MVP in 2017, Giancarlo Stanton has not reached such heights during his time in New York, averaging a WAR of 1.3 and a batting average of .244. In a nutshell, Stanton has played at a league-average level but is paid as the 11th-best player in the MLB.

Jacob deGrom:
5 years, $185 million
Leading the league in ERA and strikeouts, and gaining back-to-back Cy Young accolades, builds Jacob deGrom a resume worthy of being the fifth-highest-paid player in the MLB. However, the former Mets' four-time all-star has done very little for a Rangers team that handed him $40 million per year two years ago. deGrom's play hasn't disappointed when on the field, but he's barely touched it during his time with the Rangers. Thanks to a second career Tommy John surgery, deGrom has played just nine games in two seasons, with a WAR of 1.2. Jacob deGrom is entering his age 37 season, and will stay with the Rangers until age 40, thus it's unlikely we'll see deGrom return to his Cy Young form or even a full-time starter.
6 years, $140 million
Even at the time, handing a hefty 6-year, $140 million contract to a primarily defensive player with occasional hitting upside and absurd amounts of strikeouts, was already a questionable move. However, over two years into the signing, Javier Baez's play decreased dramatically in quality; he made more fielding errors, got fewer hits, and struck out even more. 2024 was rock bottom for Baez, as he hit under the Mendoza line at a lowly .184, recording a WAR of -1.1.

Carlos Rodon:
6 years, $162 million
In 2021 and 2022, Carlos Rodon landed himself on the Cy Young ballot in both seasons and finished with a sub-3 ERA in both seasons. Rodon timed this perfectly, hitting free agency in 2023, and the Yankees continued their habit of overpaying free agents. In a fleeting 14 starts in 2023, Carlos Rodon recorded an abysmal 6.85 ERA and -0.8 war. 2024 featured a full-season workload from Rodon, as well as better numbers. However, a 3.96 ERA and 1.9 WAR are miles apart from Rodon's two All-Star seasons, and even further from being worth $27 million per year.
Robbie Ray:
5 years, $115 million
After winning the Cy Young award in 2021 with the Blue Jays, Robbie Ray signed a hefty 5 year, $115 million contract with the Mariners. In 32 starts, Ray recorded a respectable 3.71 ERA, but it wasn't quite was Seattle paid for. In the following season, Ray started a grand total of one game, thanks to a flexor injury that kept him sidelined for the entire season after opening week.

In 2024, the Mariners traded Robbie Ray to the Giants, where he started seven times the amount of games from his previous season. In those seven games, Ray posted an ERA of 4.70, suffering multiple injuries that derailed yet another year of his massive contract. Unless Robbie Ray somehow wins another Cy Young in 2025, there's no way the Giants will get their money's worth with that contract.
Christian Yelich:
7 years, $188 million
After leading the league in batting average, OPS, and slugging in back-to-back seasons, Christian Yelich could have gotten substantially more money had he signed with a different team, but took a small pay cut to stay with the Brewers. In hindsight, the Brewers still overpaid Yelich despite the pay cut, and the Brewers are stuck paying an average position player $22 million per year until 2029.
In the five seasons following the extension, Christian Yelich's .260 batting average has returned to average, while his slugging and power is mainly what's declined since the 2018 and 2019 seasons. Yelich has recorded subpar numbers in slugging percentage and home runs, hitting an average of 13 per year for the latter, and .427 for the former. And with Yelich entering his age 33 season, it seems exceedingly unlikely that he will regain his power and MVP form of the past.