Wasn’t Jake Peavy to the Cardinals a done deal a couple of weeks ago? The Cards needed a starting pitcher for the back end of the rotation and appeared to have found their man in the veteran right-hander.

But then it didn’t happen. And over the weekend, the Red Sox traded Peavy to the Giants instead.

So where do the Cardinals go from here? How did St. Louis go from ready to make a deal for Peavy quickly, according to reports, to watching him go to a league rival and possible postseason opponent?

Potential trades fall through all the time, of course. When you see that the Giants gave up two of their top pitching prospects (as ranked by Baseball America before the season), maybe that answers the question. The Red Sox wanted more for Peavy than the Cardinals were willing to exchange, though St. Louis surely could have made a better offer than the Giants.

When Peavy to St. Louis seemed imminent, the scuttlebutt was that Allen Craig could go to Boston in a straight-up, one-for-one deal. That seemed like an overpay, considering Peavy will be a free agent after the season while the 29-year-old Craig is under contract through 2017 for $26.5 million (with a $13 million club option for 2018).

Craig may not have ever been a part of those discussions, but the fact that his name was brought up in rumors highlights how much of a disappointment he’s been this season. Taking over in right field and expected to be one of the Cardinals’ top run producers, Craig is batting .240 with a .642 OPS, seven home runs and 44 RBI in 393 plate appearances. In July, he’s batting .133 with a .222 slugging percentage.

Yes, St. Louis would be selling terribly low on Craig at this point. But if it meant shoring up the rotation for what would’ve been three to four months, why not use an expendable piece to get that starting pitcher? Granted, Oscar Taveras and Randal Grichuk have struggled in their limited major league time while thriving in the minors, so the Cards might be hesitant to go with those players if they’re not ready for some pennant race pressure. But how much worse could they be than Craig this season?

Or if Craig is viewed as the future — with a proven record of success, coming off two strong seasons — why not build a package around Taveras, Grichuk or Stephen Piscotty along with one of St. Louis’ promising young pitchers that could get a better starter than Peavy?

The Cardinals are one of the only contending teams capable of putting together the sort of package that could compel the Rays to trade David Price. Yes, the team would have to give up a big chunk of its future to do so, but there’s young talent to spare. And Price wouldn’t be a rental, having one more year of arbitration eligibility (though it would be an expensive one). That would give St. Louis one of the best top three starters in MLB next season in Adam Wainwright, Price and Michael Wacha.

Tampa Bay is reportedly reluctant to trade Price while still arguably in the playoff race. As of July 28, the Rays are 7.5 games out of first place in the AL East and 4.5 away from the league’s second wild-card spot. But what if the Cardinals were to make an offer just too good to refuse? The resources are there to do so, while also preventing competition like the Dodgers and Brewers (reported by Fox Sports as showing interest) from adding the 2012 AL Cy Young Award winner.

But if the Rays want to keep stalling on Price, there are other starters available that would significantly upgrade the Cardinals’ rotation. CBS Sports’ Jon Heyman reported on Monday that the Dodgers are pursuing Red Sox ace Jon Lester, and could offer outfielders such as top prospect Joc Pederson or Matt Kemp in a potential deal. Why should St. Louis let the Dodgers add Lester alongside Clayton Kershaw, Zack Greinke and Hyun-Jin Ryu and make them the National League favorite?

Lester can be a free agent following the season, so perhaps Cardinals GM John Mozeliak is hesitant to offer top prospects for a player St. Louis could lose in three months. Yet Boston is already familiar with the Cardinals’ system, having scouted players like Rowan Wick, when trying to put together a Peavy deal. The framework to create a package for Lester could presumably already be in place.

The one obstacle that could seemingly prevent St. Louis from making a blockbuster pitching addition is if Mozeliak feels he needs to add a bat as well. The Cardinals are batting .251 as a team with a .690 OPS, among the bottom-third of MLB clubs. This is probably the main reason why they haven’t played to expectations and trail the Brewers in the NL Central.

However, it could be more difficult to get help at second or third base than to upgrade the starting rotation. How many players are available that could truly help the Cardinals? Martin Prado and Aaron Hill from the Diamondbacks come to mind. Maybe the Mets’ Daniel Murphy. If St. Louis really wanted to make a blockbuster deal with the Rays, perhaps Mozeliak could push for Ben Zobrist to be paired with Price.

Yet the Cardinals seem more content to chase mid-range starting pitchers than pursue an impact deal. Though the likes of Peavy and Jason Hammel have already been dealt, Mozeliak does have other potential options.

John Danks of the White Sox is apparently available, though the Yankees seem to be the only team attached to him. The Astros will probably make Scott Feldman, Dallas Keuchel and Collin McHugh available. The Rockies say they won’t trade Jorge De La Rosa, but really should. Dillon Gee of the Mets and the Padres’ Ian Kennedy are two others that presumably fit what St. Louis is seeking.

But could the Cardinals end this season wondering if they should have done more when they had the chance? The opportunity is there to make sure such questions don’t have to be asked.

About Ian Casselberry

Ian is an editor for The Comeback and Awful Announcing, also covering baseball at The Outside Corner and pop culture for The AP Party. He has written for Yahoo! Sports, MLive.com, Bleacher Report and SB Nation, and provides analysis for several sports talk radio shows each week. He currently lives in Asheville, NC.