As we documented earlier this week, the St. Louis Cardinals have made some very good free agent deals over the last two decades. But they’ve also made some very, very bad moves. Today, we are going to rank those moves from the most terrible to the not-nearly-as-terrible-but-still-quite-terrible. 

As a reminder, we will only be looking at players who first came to St. Louis via free agency. That means Adam Kennedy, who debuted with the Cardinals as a rookie before getting traded and later returning as a free agent, will not be eligible. 

Anyway, let’s rip off the band-aid:


  1. Greg Holland (2018, 1 year/$13 million)


Holland became an All-Star as part of a fearsome Kansas City Royals bullpen in the mid-2010s, and went on to lead the National League in saves with the Colorado Rockies in 2017. Obviously, he struggled mightily in his brief time in St. Louis, but it was the process behind this deal, not so much the player, that made it so God-awful.

Holland was signed on March 29, right before Opening Day, because Mike Matheny insisted on having an established closer in the bullpen rather than going with the best guy available. It was clear from his debut that Holland didn’t have control of his fastball, yet Matheny continued to put him in high-leverage situations. Holland’s command did not improve, and he eventually landed on the DL, far away from the ninth inning. He ended his Cardinals career with an abysmal 7.92 ERA in 25 innings and failed to record a single save.


  1. Mike Leake (2015, 5 years/$80 million)

Let’s recap the doomed offseason of 2015, shall we?

  • First, the Cardinals finished second in the bidding war for David Price.
  • Then, the team lost Jason Heyward and John Lackey to the surging Cubs, who had beaten them in the NLDS two months earlier.
  • Finally, in what seemed like a panic move, the Cardinals not only signed Leake (who was coming off of his worst season in two years), they signed him to the largest contract they had ever offered a free agent pitcher, which was absolutely absurd.

Leake posted a 4.46 ERA in 56 starts with the Cardinals, including a 5.04 ERA against the NL Central. After losing seven of Leake’s final 10 starts, the front office decided that enough was enough. Two years into Leake’s five-year deal, the Cardinals decided to pay the Seattle Mariners to take him off of their hands.


  1. Brett Cecil (2016, 4 years/$30.5 million)

Following Andrew Miller’s dominance with Cleveland in the 2016 postseason, teams went crazy over lefty relievers on the free agent market. The Cardinals were no exception, hoping that Cecil would turn into their version of Miller when they signed the longtime Toronto southpaw. Needless to say, that hasn’t happened.

With two years to go on his deal, Cecil has struggled mightily against left-handed batters and saw his ERA nearly double to 6.89 in 2018. He’s battled injuries and command issues, and might face an uphill battle to even make the Opening Day roster this time around. Maybe the real Andrew Miller will change things for the bullpen this season.


  1. Tino Martinez (2001, 3 years, $20.75 million)

As a power-hitting first baseman, Martinez was a key part of the New York Yankees’ late-90s dynasty (he’s even a Monument Park honoree). When Mark McGwire retired, the Cardinals turned to Martinez to pick up part of the offense, but he appeared to leave his power in the Bronx.

Martinez batted .265 and hit just 36 home runs over two years in St. Louis, and was a complete non-factor in the 2002 postseason. 

Reportedly, Martinez wasn’t the most pleasant guy to be around, either (According to the late Joe Strauss, Martinez was the only Cardinal who ever yelled at him during his career on the beat). In 2004, the Cardinals wisely decided to move Albert Pujols from left field to first base and traded Martinez to Tampa Bay.


  1. Kip Wells (2007, 1 year/$1.5 million)

During the Tony La Russa years, pitching coach Dave Duncan garnered a reputation for fixing veteran arms, from Chris Carpenter to Jeff Weaver. But Duncan’s magic did not work on everyone, and that included Wells.

In total, the Cardinals lost 20 of the 26 games Wells started for the team, who departed with a 5.76 ERA and a 7-17 record in his lone season in St. Louis. 


  1. Sidney Ponson (2006, 1 year/$1 million)

I’m still not convinced that Sidney Ponson and Kip Wells aren’t the same person.

Ahead of the 2006 championship season, the Cardinals took a chance on Ponson, who had just been cut loose by the Baltimore Orioles following a string of run-ins with the law. He was plugged into the starting rotation to begin the year, but the experiment was short-lived.

Ponson ended up with a 5.24 ERA in 14 appearances, rarely lasting more than five innings per start. He was released after just three forgettable months.


  1. Bobby Bonilla (2001, 1 year/$900,000)

Injuries and reduced playing time had already begun to take their toll on the veteran star before the Cardinals convinced him to go on one more run ahead of the 2001 season. The injuries didn’t stop, and an aggravated hamstring in spring training helped a rookie named Albert Pujols make the opening day roster.

Playing mostly off the bench, Bonilla batted just .213 with 12 extra base hits before retiring to a life of cashing checks from the New York Mets.


  1. Mark Ellis (2014, 1 year/$5.25 million)

In fairness, the logic behind signing Ellis was sound. With Matt Carpenter switching positions and the still-unproven Kolten Wong taking over second base, the Cardinals needed infield depth, and Ellis was available. It simply didn’t work out as everyone had hoped.  

Ellis, who had been a solid hitter up to this point, posted career lows in nearly every major offensive category, including batting average (.180) before announcing his retirement after the season.


  1. Ruben Tejada (2016, 1 year, $1.5 million)

Tejada was brought in at the last minute in spring training to fill in for the injured Jhonny Peralta at shortstop, but when Tejada himself got injured hours before Opening Day, the Cardinals were forced to turn to rookie Aledmys Diaz. By the time Tejada recovered, Diaz had begun to set the National League on fire, and the Cardinals didn’t have much use for Tejada anymore.

Tejada took just 34 at bats and collected only six hits in his incredibly brief time with the Cardinals. He became a free agent in late May, just days after he was called upon to pitch in a blowout loss.


  1. Ty Wigginton (2013, 2 years, $5 million)

As amazing as the 2013 team was, the 35-year old Wigginton didn’t do much to move the needle. Instead of providing a veteran bat off the bench, Wiggy batted .157 with just nine hits in 57 plate appearances before being released.

His entire highlight reel with the Cardinals can be found at about the 1:27 mark here.


  1. Brayan Pena (2016, 2 years, $5 million)

One side effect of Yadier Molina’s brilliance behind the plate is the fact that the backup catcher position has become something of a black hole in recent years. Like Mark Ellis, it did make some sense to sign Pena, who had caught lots of innings for the Detroit Tigers and Cincinnati Reds before coming to St. Louis.

Pena certainly seems like a great teammate and a great person (for a while, his Twitter bio simply read, “I’m a great person”), but injuries derailed his 2016 season before it could begin, and he went just 2 for 13 when he was healthy.

One thought on “Ranking the Cardinals’ Worst Free Agent Signings of the Last 20 Years

  1. Another Brayan Pena twitter memory: while he was with the Cardinals, his account was hacked by a porn bot. When he recovered the account, his bio changed to “a great and real person”

    Also, he was so excited about becoming an American citizen that he tweeted he was going to join the Army Reserve. Apparently he hadn’t mentioned this to the front office, who clarified that his contract did not allow for that.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s