The worst free-agent deals for all 30 MLB teams

Ryan Fagan

The worst free-agent deals for all 30 MLB teams image

We've seen a few free agent find new homes so far this offseason, though the big names — hi there, Bryce Harper and Manny Machado — are still shopping around. Only time will tell if those two wind up as best-case scenarios or free-agent horror stories. 

And that's the thing. Not all free-agent signings turn into feel-good stories, of course.  Every fan base has seen would-be hero free agents turn into certifiable goats. No franchise is immune. 

With that pleasant thought in mind, let’s take a look at the worst free-agent signing for all 30 teams, plus an honorable mention disaster or two per team (we’re not saying these are the team’s “second-worst” signing, necessarily, but just deals worth noting).

MORE: 15 of the worst of the worst signings 

First, a couple of ground rules. 

We’re only counting players who changed franchises with their free-agent deal, not players who opted to stay put (and no extensions, either). And this isn’t just a list of massive payroll-cramping contracts; the player has to have performed poorly, too.

For example, Alex Rodriguez is not on this list, for either of the gigantic contracts he’s signed in his career. Yes, the Rangers gave him an insane amount of money to leave Seattle after the 2000 season, but A-Rod was really good for Texas; he finished sixth, second and first in the AL MVP voting those three years. And when he re-upped with the Yankees for an insane amount of money, he wasn’t changing teams. 

Make sense? Excellent. Let’s begin.

Notes: The year listed by the player is the first year with their new club, not when they actually signed the contract. And all WAR numbers listed are Baseball-Reference’s formula.

Angels

Josh Hamilton, 2012. Five years, $125 million

The debacle: Not only did Hamilton struggle greatly when actually healthy in the regular season — he posted a .255/.316/.426 slash line with only 32 homers in 240 games (he hit 43 in 148 games in his last year with the Rangers) — but he was 0-for-13 in the 2014 postseason as his 98-win team was eliminated by the wild-card Royals. Then, the disastrous offseason of personal issues that resulted in the trade that sent him back to the Rangers. The worst part just might be that the Angels paid Hamilton a ton of money to play for their division rival.

Honorable mention: Gary Matthews, Jr., was an elite defensive outfielder, but had never been much of a hitter. Until his Age 31 season for the Rangers, that is, when he had a .313 batting average (his career mark to that point was .249), 19 homers and a 5.2 WAR in a hitter-friendly park. The Angels gave him a five-year, $50 million deal based on that level of production, which he never came close to matching; in 370 games over three seasons, he hit just .248 and was traded to the Mets for Brian Stokes, a 30-year-old reliever with a career 5.02 ERA.

Astros

Greg Swindell, 1993. Four years, $17.5 million

The debacle: Swindell had a long (17 years) and largely successful career in the big leagues, but his time in Houston wasn’t roses. In his first three years with the club, he produced a 4.32 ERA (he had a 2.70 ERA his last year in Cleveland), and then was just released with a 7.83 ERA eight games into that fourth season. The disappointment — along with Doug Drabek’s similar Houston dip on a concurrent four-year FA deal — kept the Astros out of the bidding for free agents (including their own) for a long, long time. 

Honorable mention: The Astros signed 40-year-old Woody Williams to a two-year, $12 million deal after the 2006 season, but he pitched just one year (with a 5.27 ERA) before he was cut at the end of spring training in 2008 (he had an 11.83 ERA in camp).

Athletics

Esteban Loaiza, 2006. Three years, $21.4 million

The debacle: The veteran right-hander joined a rotation that included Barry Zito, Rich Harden, Dan Haren and Joe Blanton, but he made just 26 starts with a 4.89 ERA that year (and 7.36 ERA in two playoff starts). He spent most of 2007 on the DL and then was claimed on waivers that August by the Dodgers (which meant the A’s were off the hook for the remaining $8 million of salary). 

Honorable mention: The A’s gave Arthur Rhodes a three-year, $9 million deal to be their closer starting in 2004, but he was just 9-for-14 in save opportunities and lost that job. He finished the season with a 5.12 ERA and was shipped to Pittsburgh in the offseason. 

Blue Jays

B.J. Ryan, 2006. Five years, $47 million

The debacle: In his first year as a closer, Ryan saved 36 games for the Orioles in 2005. Toronto gave him the massive deal that offseason, and for a while it looked like money well spent, as Ryan saved 38 games with a 1.37 ERA in 2006. But he was hurt most of 2007, and after a solid 2008, Ryan was awful in 2009, to the point where he was released in July despite the fact that Toronto still was on the hook for the nearly $15 million he was owed. 

Honorable mention: The Jays gave Canadian Corey Koskie a three-year, $17.5 million deal to play third base, but after one disappointing, injury-plagued season (only 97 games, career-worst .735 OPS), he was shipped to Milwaukee (along with more than half of his guaranteed $11 million) in a trade.

Braves

B.J. Upton, 2013. Five years, $72.5 million

The debacle: Upton spent just two years in Atlanta after signing that five-year contract, and both seasons were a disaster. Upton had 28 homers and 31 stolen bases in his final season with Tampa Bay, but he hit just 21 homers and stole 32 bases in 267 games with the Braves, to go with a .593 OPS and minus-2.1 bWAR. To move his contract, the Braves had to include lights-out closer Craig Kimbrel in the deal. 

Honorable mention: The Braves signed future Hall of Fame closer Bruce Sutter to a six-year, $10.4 million deal in 1984. But he missed all of 1987 with injuries and was forced to retire after a shoulder injury in 1989. In total, he had just a 4.55 ERA in 112 games for Atlanta.

Brewers

Jeffery Hammonds, 2001. Three years, $21 million

The debacle: Even at the time, the Brewers probably should have known better. Hammonds hit .335 with 20 homers for Colorado in 2000 (he had a .399 average and 14 home runs in the thin air at Coors Field), then inked the deal with Milwaukee as a free agent. In 187 games before he was released in June 2003, Hammonds hit just .248 with 16 homers. 

Honorable mention: For their four-year, $42 million investment in starter Jeff Suppan, the Brewers received a 5.08 ERA in 110 games (97 starts) before they cut him in Year 4 of the deal. 

Cardinals

Tino Martinez, 2001. Three years, $21 million

The debacle: This is an odd case. Though Martinez wasn’t bad as a Cardinal — he hit .267 with 36 home runs in two years — he wasn’t the savior some in town expected him to be, and his oft-stated fondness for his time with the Yankees rubbed Cardinals fans the wrong way (Cardinals are rarely booed at Busch Stadium like Martinez was often booed). By the end of his second year, it was clear his time was done in St. Louis, so much so that the Cardinals paid his entire $7 million salary when they traded him to Tampa Bay, his hometown team. 

Honorable mention: The Cardinals gave veteran lefty Danny Jackson a three-year, $10.8 million deal before the 1995 season. In return, Jackson compiled a 4-15 record with a 5.78 ERA over parts of three seasons.  

Cubs 

Milton Bradley, 2009. Three years, $30 million

The debacle: Nobody, aside from Cubs GM Jim Hendry, was surprised this deal ended badly. Bradley was a disaster in his lone season with Chicago—on and off the field—and after he was suspended the final 15 games of 2009, he was dumped to Seattle in an offseason deal that brought back Seattle’s worst free-agency decision of all time, Carlos Silva. 

Honorable mention: It's way too early to close the book on Yu Darvish's time with the Cubs, of course, but the club got just eight starts and a 4.95 ERA from the right-hander after giving him a six-year, $126 million contract last spring. Yikes. You can make a case for Jason Heyward, too. He's been mostly anemic with the bat after signing his $184 million deal, but his defense has been good and the Cubs did win a World Series the year he signed. 

Diamondbacks

Russ Ortiz, 2005. Four years, $33 million

The debacle: Ortiz was a complete disaster with Arizona. He made just 28 starts for the Diamondbacks — he was released in June of the second year of his four-year deal — and compiled an amazingly bad numbers: 7.00 ERA, 1.896 WHIP, 5.7 BB/9, to name just a few.

Honorable mention: Willie Blair translated a career year (16 wins, 4.17 ERA for Detroit in 1997) into a three-year, $11.5 million deal with Arizona. He lasted just 23 starts with the Diamondbacks (with a 4-15 record and 5.23 ERA) before he was traded to the Mets at the 1998 non-waiver trade deadline.

Dodgers

Darryl Strawberry, 1991. Five years, $20.25 million

The debacle: After eight All-Star appearances with the Mets, Strawberry returned to his L.A. roots and hit 28 homers in his first year with the Dodgers. But he hit only 10 over the next two seasons (to go with a .199 average) and was released to deal with his drug issues. 

Honorable mention: So many choices with this franchise. We’ll settle on Andruw Jones, who signed a two-year, $36.2 million deal but hit just three home runs with a .158 average in 2008 and was released that winter. 

Giants

Barry Zito, 2007. Seven years, $126 million

The debacle: For the most part, Zito stayed healthy in the Giants’ rotation for the life of the contract, and he did have some brilliant moments in a San Francisco uniform. But in retrospect, maybe it wasn’t good to guarantee that much money to a guy who had a 4.05 ERA (and 4.57 FIP) in the three seasons before he reached free agency. Zito finished his time with the Giants with a 4.62 ERA.

Honorable mention: Aaron Rowand was solid the first two years of his five-year, $60 million deal but had just a .640 OPS over 213 games the next two injury-plagued seasons and was released in September 2011 while the team still owed all of his 2012 salary ($12 million). 

Indians

Wayne Garland, 1977. 10 years, $2.3 million 

The debacle: In the first year of free agency, the Indians took a risk on a young right-hander who had won 20 games for the Orioles in 1976. Obviously, it didn’t work out. Garland lost 19 games for Cleveland in 1977 and was never really healthy again. He was finally released in January 1982, with many years remaining on that 10-year deal. 

Honorable mention: At the moment, the nod goes to Keith Hernandez, who played just 43 games with the Indians after signing a two-year, $3.5 million deal before the 1990 season.

Mariners

Carlos Silva, 2008. Four years, $48 million

The debacle: Despite Silva’s career 4.31 ERA (and 4.51 FIP), the Mariners gave him the security of four years of hefty paychecks. In 38 games (36 starts) for Seattle before he was shipped to Chicago, Silva racked up a 6.86 ERA and allowed an average of 12.4 hits per nine innings. 

Honorable mention: The Mariners pried Chone Figgins away from the Angels with a four-year, $36 million deal after the 2009 season. Bad idea. Figgins, who hit .291 with a .363 on-base percentage in eight years with the Angels, hit just .185 with a .249 average, combined, in his second and third years with Seattle before the Mariners cut him. 

Marlins

Heath Bell, 2012. Three years, $27 million

The debacle: Bell recorded 132 saves for the Padres over the previous three years, but he got off to a rocky start with the Marlins (he converted just three of his first seven save opportunities) and finished the year with a 5.09 ERA. After the year, the Marlins traded him (along with $8 million) to Arizona. 

Honorable mention: John Buck did hit 28 home runs in his two seasons with the Marlins, but batted just .213, not exactly what the franchise expected when they gave him a three-year, $18 million deal. 

Mets

Jason Bay, 2010. Four years, $66 million

The debacle: Bay, who hit 36 home runs for Boston in 2009, was a disastrous signing for the Mets. He dealt with all kinds of injury issues and wasn’t very productive even when he was on the field; in 288 games over three seasons, he hit just 26 home runs and batted .234 before the team and player parted ways.

Honorable mention: Instead of choosing one person, we’ll just throw out a couple names that still make Mets fans wince: Vince Coleman. Bobby Bonilla. Oliver Perez. Kaz Matsui. Sorry about that.

Nationals

Jason Marquis, 2010. Two years, $15 million

The debacle: We’re only counting deals since the franchise moved to Washington in 2005, which limits choices. And most of the biggest-money deals have been given to home-grown players (such as Ryan Zimmerman), so they don’t count. So we come to Marquis. In his first year with the Nationals, the right-hander posted a 6.60 ERA in 13 starts. He was better in 2011 (3.95 ERA) and was traded to Arizona.

Honorable mention: Paul Lo Duca had just a .581 OPS in 49 games in 2008 before he was released (he had a one-year, $5 million contract). 

Orioles

Chris Davis, 2016. Seven years, $161 million

The debacle: Even at the time, it looked like a mistake to give that much money (and that many years) to a slugger whose strikeouts and batting average looked so very similar the year before -- 219 strikeouts, .221 average. The deal has aged worse than anyone thought possible. Davis had arguably the worst offensive season ever -- .539 OPS, .168 average, minus-2.8 bWAR — in 2018, and he's on the books for five more years. Good luck with that rebuild, Baltimore.  

Honorable mention: Albert Belle hit 60 home runs during his first two seasons with the Orioles, a pretty good start to the five-year, $65-million deal. But he never played in the bigs again, sidelined by a chronic hip condition kept him off the field.

Padres

Oscar Gamble, 1978. Six years, $2.85 million

The debacle: Gamble, who played for three different teams the previous three years, was given the long-term deal by the Padres after hitting 31 home runs for the White Sox in 1977. In his lone season with the Padres, his power disappeared (he hit seven homers) and he was shipped off (along with $300,000) to the Rangers in the offseason. 

Honorable mention: The Padres gave oft-injured starter Josh Johnson a one-year, $8 million contract in 2014, but strained his elbow in spring training and had Tommy John surgery that April. 

Phillies

Adam Eaton, 2007. Three years, $24 million

The debacle: Eaton had a career 4.40 ERA, including a 5.12 ERA in 2006, when the Phillies gave him the three-year deal. Eaton didn’t improve with the influx of cash; he had a 6.29 ERA in 30 starts in 2007, then a 5.80 ERA in 2008. The Phillies released him the next spring, despite owing him $9 million in 2009. 

Honorable mention: In 1997, the Phillies gave Danny Tartabull a one-year, $2 million contract. He played three games before breaking his foot, and he never played in the bigs again. A few years later, they gave Michael Jackson a one-year, $3 million deal, but an elbow injury kept him out all of the 2000 season.

Pirates

Derek Bell, 2001. Two years, $9.5 million

The debacle: Yep, this is the “Operation Shutdown” guy. In 2001, Bell hit just .173 in 46 games of an injury-plagued season. The next spring, when it was hinted he’d have to compete for the right-field job, Bell said he was going into “Operation Shutdown” and left camp. He was released by the Pirates and never played in the majors again. 

Honorable mention: The Pirates gave Pat Meares, who was a free agent because the Twins opted against offering him arbitration, a one-year deal in February 1999, then at the end of April signed him to a four-year, $15 million extension. But he only played a total of 240 games over three years (batting just .238) because of injury issues. He spent all of 2002 and 2003 on the disabled list, which was the source of a lot of tension between the team and the player, to the point where a grievance filed by Meares needed to be resolved.

Rangers

Chan Ho Park, 2002. Five years, $65 million

The debacle: For whatever reasons — pressure of the money, change of scenery, hitter-friendly home ballpark, injury — Park was awful with the Rangers. He made 68 starts over four seasons and posted a 5.79 ERA before he was traded to San Diego. 

Honorable mention: The Rangers gave the free-agent market another shot after the 2005 season, inking Kevin Millwood to a five-year, $60 million deal. He posted a 4.89 ERA over his first three years with Texas, then had a 3.67 ERA in 2009 and was traded to Baltimore before the final year of his deal.  

Rays

Greg Vaughn, 2000. Four years, $34 million

The debacle: The powerful slugger hit 95 home runs in the two seasons before joining Tampa Bay, but after two decent-power, low-average years with the Rays he batted just .163 with eight homers in Year 3 of the deal. He was released the next spring, but because of deferred payments, the franchise didn’t finish paying Vaughn until December 31, 2007. 

Honorable mention: Pat Burrell averaged 28 home runs in his first nine years in the majors, but hit just 16 with the Rays before he was released in May of the second year of his two-year, $16 million deal. 

Red Sox

Carl Crawford, 2011. Seven years, $142 million

The debacle: Crawford admittedly never felt comfortable in Boston, and he was barely a shadow of the player he’d been for Tampa Bay (.296/.337/.444, average of 45 stolen bases). Because of injuries, he only played two of those seven years before he was included in a salary-dump trade to the Dodgers. He hit just .260 with 23 stolen bases, total, in 161 games for the Red Sox.

Honorable mention: Pablo Sandoval was a World Series hero — he hit .426 in a dozen Fall Classic games and helped the Giants to three World Series rings — when he came to Boston (on a five-year, $95 million contract) but his time in Beantown was mostly a disaster. He had a minus-0.9 bWAR in his only "full" season with the Red Sox (128 games in 2015), then played only 35 games for the Sox the next two seasons before he was released. 

Reds

Eric Milton, 2005. Three years, $25 million

The debacle: The Reds needed a starting pitcher, and Milton was a lefty who’d won at least 13 games in four of the previous five seasons. But in his first year with Cincinnati, he recorded an astronomical 6.47 ERA and gave up 40 home runs in 34 starts. He only started 32 games for the Reds in the final two years of the deal, posting a 5.18 ERA.

Honorable mention: The Reds inked Willy Taveras to a two-year, $6.25 million deal after the speedy leadoff man swiped 68 bases for the Rockies in 2008. In 2009, he hit .240 with 25 steals. In 2010, Taveras was dumped in a February trade and he wound up being a part of six different franchises — SIX! — during that calendar year.

Rockies

Mike Hampton, 2001. Eight years, $121 million

The debacle: The Rockies were determined to overhaul their pitching staff after the 2000 season, and Hampton, the lefty who owned a career 3.44 ERA, seemed like the perfect fit. So they gave him gobs of money, but the thin air of Denver rendered him highly ineffective. After just his second season in Colorado (and a 5.75 ERA in 62 stars), Hampton was traded away in a complicated three-team deal with the Marlins and Braves.

Honorable mention: Remember how the Rockies were determined to overhaul their staff after the 2000 season? Well, they also gave Denny Neagle a giant contract (five years, $51 million), but the end of his time in Denver wasn’t nearly so clean. After three awful years (a 5.57 ERA), Neagle missed all of 2004 with injuries, then was charged with soliciting a prostitute in December 2004, ending his time with Colorado. Yep.

Royals

Mark Davis, 1990. Three years, $13 million

The debacle: The Royals signed Davis after the lefty saved 44 games with a 1.85 ERA and won the NL Cy Young award for the Padres in 1989. That meant Kansas City had both reigning Cy Young winners (their own Bret Saberhagen won the 1989 AL award) on its staff, but Davis quickly lost the closer’s job and finished with a 5.11 ERA. He never found success with K.C. and was traded away during the final year of the contract. 

Honorable mention: The only one-year deals we’ll mention on this list are spectacularly bad one-year deals. The Royals had one when they gave Jose Lima a one-year, $3.5 million deal for the 2005 season. He made 32 starts and compiled a jaw-dropping 6.99 ERA; in 168 2/3 innings, he allowed 289 base-runners and struck out just 80. 

Tigers

Mike Moore, 1993. Three years, $10 million

The debacle: Detroit brought in the veteran right-hander to stabilize the rotation. And he did take his turns — he led the AL in starts in both 1993 and 1994 — but he wasn’t very good when he was on the mound, compiling a 5.31 ERA. And then in 1995, he was bad on an epic scale, to the tune of a 7.53 ERA in 25 starts. 

Honorable mention: Jordan Zimmermann owned a career 3.32 ERA and had made at least 32 starts four years in a row when the Tigers gave him a five-year, $110 million deal after the 2015 season. He was supposed to help fuel another playoff push. That didn't happen. In his three years in Detroit, he's averaged 24 starts and posted a 5.24 ERA. 

Twins

Tsuyoshi Nishioka, 2011. Three years, $9.25 million

The debacle: Nishioka hit .346 in 2010 for Chiba Lotte in Japan’s Pacific League but his time with the Twins was pretty much a disaster from the start. He wound up playing just 71 games for Minnesota (68 in 2011) and hit just .215 while dealing with injuries and the adjustment of playing in a new country.  

Honorable mention: The Twins signed Kendrys Morales on June 8, 2014, with the hope that the slugger — who had remained unsigned because of his salary demands and the draft-pick compensation attached to signing him before the MLB draft — could help spur a playoff push. But he hit just .234 with one home run in 39 games and the Twins fell way off the pace, so they traded him to the Mariners before the July 31 trade deadline.

White Sox

Jaime Navarro, 1997. Four years, $20 million

The debacle: After winning 29 games with a 3.62 ERA in his two seasons with the Cubs, Navarro seemed like a safe free-agent bet for the White Sox. Didn’t work out that way. In his three seasons with the South Siders — he was traded before the fourth year — Navarro compiled an unsightly 6.06 ERA for the White Sox.

Honorable mention: In the first year of Adam Dunn’s four-year, $56 million deal, the slugger batted just .159 with 11 homers, an historically bad season. He did hit 95 homers the final three years of the deal, but never batted above .220.

Yankees

Carl Pavano, 2005. Four years, $39.9 million

The debacle: Any of a half-dozen players could occupy this spot — hey, the Yankees have made a lot of bold moves on the free-agent market — but we’re going with the pitcher who was dubbed “American Idle” during his time with the Yankees. In his four years, Pavano made just 26 stars and finished with a 5.00 ERA. He spent most of his time on the disabled list, including his famous “bruised buttocks” injury. 

Honorable mention: After the 2006 season, the Yankees shelled out $46 million for Japanese lefty Kei Igawa (a $26 million posting fee and five-year, $20 million deal). It quickly became clear he didn’t have the stuff to succeed in the majors; he pitched in just 16 games for the Yankees (14 in 2007) and finished with a 6.66 ERA. He spent his final three years in the minor leagues. 

Ryan Fagan

Ryan Fagan Photo

Ryan Fagan, the national MLB writer for The Sporting News, has been a Baseball Hall of Fame voter since 2016. He also dabbles in college hoops and other sports. And, yeah, he has way too many junk wax baseball cards.