This past offseason featured the best free agent class in quite some time. It had elite players ( David Price , Zack Greinke ) and a ton of high-end depth ( Justin Upton , Yoenis Cespedes , John Lackey , etc.). It was a good winter to have money to spend. That’s for sure.

So far, as is often the case, the largest free agent contracts handed out this past season already look questionable. Price and Greinke have not pitching up to their usual standards, and both Upton and Jason Heyward have fallen short of expectations. It’s amazing how quickly big deals turn out to look bad.

As always, several smaller contracts look like tremendous bargains with only a few weeks left to go in the 2016 season. Hitting the jackpot with a small signing is the kind of thing that can push a team from the postseason bubble into the playoffs. Getting lots of value for minimal commitment is the way to build a successful roster.

Let’s take a look at the best bargain free agents handed out this past offseason. We’re going to limit ourselves to players who signed true one-year contracts — so no multiyear deals with an opt-out after the first year — and minor-league deals only. It doesn’t get any cheaper than these contracts.

That means players like Daniel Murphy and J.A. Happ , who signed affordable three-year contracts and have had incredible seasons, are not eligible for our list even though they sure look like bargains. We’re sticking with the shortest of short-term commitments. Away we go …

The Minnesota Twins scooped up Abad on a minor-league contract after he was non-tendered by the Oakland Athletics over the winter. He gave them 34 innings of 2.65 ERA (159 ERA+) ball, which was good for 1.0 WAR, before flipping him to the Boston Red Sox at the trade deadline for a prospect. This worked out as well as minor-league signings can work out for rebuilding teams. Minnesota got some value from Abad, then turned him into a prospect to continue to their rebuild. Perfect. It’s not their problem that he hasn’t pitched all that well for Boston. Abad is making $1.25 million in 2016.

Joe Blanton RP / Los Angeles Dodgers

ERA: 2.33WHIP: 0.90WAR: 1.6

Blanton was out of baseball in 2014. He made two Triple-A starts with the A’s that year and retired in the middle of the season. Blanton came back last year, pitched well with the Kansas City Royals and Pittsburgh Pirates , and turned that into a one-year deal worth $4 million with the Los Angeles Dodgers . He’s emerged as Kenley Jansen ‘s primary setup man and has been a workhorse; only Brad Hand (69 1/3) and Carlos Villanueva (67) have thrown more relief innings than Blanton (65 2/3) in 2016.

usatsi9458743.jpgJoe Blanton was out of baseball two years ago. Now he’s a setup man on a first place team. USATSI

Ryan Buchter RP / San Diego Padres

ERA: 3.00WHIP: 1.09WAR: 1.1

It has taken Buchter a while to find his footing in the big leagues — he was released by the Dodgers in 2014 and the Chicago Cubs in 2015 before hooking with the San Diego Padres as a minor-league free agent this past offseason — but he’s done it this season and has emerged as San Diego’s best reliever. Of course, the team recently optioned him to Triple-A because of fatigue, which was a rather sketchy move (fatigued players are supposed to go on the DL, not Triple-A where they can’t collect service time and big-league salary). Either way, Buchter has been minor-league deal gold this year. The Padres are only paying him $520,000, essentially the league minimum.

Matt Bush RP / Texas Rangers

ERA: 2.91WHIP: 1.06WAR: 1.2

Back in 2004, Bush was the first overall pick in the draft. As a shortstop. He flamed out in the minors with the Padres and wound up serving 39 months in prison following a DUI accident. Bush was released from prison over the winter, and the Texas Rangers , who believed he was a changed man, signed him to a minor-league contract as a pitcher. He reached the majors quickly and has become one of their top end-game relievers. I can’t say I’m comfortable calling this a redemption story — Bush’s accident almost killed a man on a motorcycle — but in pure baseball terms, the move has worked out great for Texas.

Ian Desmond CF / Texas Rangers

AVG/OBP/SLG: .290/.338/.471HR: 21WAR: 3.0

No team was willing to sign Desmond, a qualified free agent, this past season. It wasn’t until late February that the Rangers took the plunge and forfeited their first-round pick to sign him to a one-year deal worth $8 million. That happened only after he agreed to move to the outfield. The transition has worked very well, so much so that Desmond was an All-Star this year. He’s cooled down a bit in the second half, though overall, the Rangers have to be thrilled with what Desmond has given them in 2016.

usatsi9448227.jpgIan Desmond’s position change has worked better than anyone could have expected. USATSI

Doug Fister SP / Houston Astros

ERA: 3.59WHIP: 1.28WAR: 1.9

A poor and injury-riddled season with the Washington Nationals in 2015 made Fister a reclamation project over the winter. The Houston Astros scooped him one a one-year, $7 million contract, and after some early-season hiccups, Fister has emerged as a stabilizing force in their rotation. He’s no longer the pitcher he was with the Detroit Tigers all those years, but he remains a rock solid workhorse. Lots of teams are wishing they topped Houston’s offer to Fister right now.

David Freese 3B / Pittsburgh Pirates

AVG/OBP/SLG: .273/.352/.429HR: 12WAR: 2.1

It’s hard to believe Freese had to wait until mid-March to sign, and even then he had to settle for a one-year contract worth $3 million. He’s been his typically productive self with Pittsburgh and given the team some much-need corner infield depth. The Pirates rewarded Freese with a two-year, $11 million extension last week. He’s been a really great pickup for them.

Dexter Fowler CF / Chicago Cubs

AVG/OBP/SLG: .274/.389/.449HR: 10WAR: 3.0

Like Desmond, Fowler was stuck in qualifying offer purgatory for much of the offseason. He reportedly agreed to a three-year contract worth $33 million with the Baltimore Orioles , but changed his mind and instead re-upped with the Cubs on what amounts to a one-year deal worth $13 million. (His 2016 salary is $8 million, but his 2017 mutual option includes a $5 million buyout, and Fowler will surely decline his half of the mutual option to test free agency again.) Fowler is having a career year and will wind up receiving some down ballot MVP votes when it’s all said and done. Baltimore’s loss is Chicago’s gain.

usatsi9397071.jpgDexter Fowler has had a big impact on the Cubs after spurning the Orioles. USATSI

Matt Joyce RF / Pittsburgh Pirates

AVG/OBP/SLG: .269/.401/.533HR: 12WAR: 1.5

The Pirates have a loaded starting outfield, but they needed a quality fourth outfielder for the bench, and Joyce has filled that role wonderfully. He’s hitting .277/.452/.553 with four home runs as a pinch-hitter in addition to his solid work as a spot starter. Pittsburgh signed Joyce to a minor-league contract over the winter and is paying him a $1 million salary this season.

Kintzler is the second Twins’ signing on our list, though unlike Abad, he stayed put at the trade deadline. He’s currently closing games for Minnesota — he is 12 for 13 in save chances so far — and I still think it’s possible the club will look to trade him for a prospect in a waiver deal before the end of the month. The Twins signed Kintzler to a minor-league contract and are reportedly paying him the $507,500 league minimum.

Mike Napoli 1B / Cleveland Indians

AVG/OBP/SLG: .257/.342/.502HR: 29WAR: 1.2

Although teams are starting to shy away from one-dimensional sluggers, Napoli was able to land a one-year deal worth $7 million with the Cleveland Indians over the winter. He’s closing in on his second career 30-home run season and is hitting cleanup for a first-place team. Napoli joins Mark Trumbo and Chris Carter as one-dimensional sluggers who were basically given away last offseason only to find success with a new team.

usatsi9368732.jpgThe Indians landed cleanup hitter Mike Napoli with a one-year contract. USATSI

Steve Pearce 1B / Baltimore Orioles

AVG/OBP/SLG: .292/.374/.494HR: 11WAR: 2.0

How many teams do you think wish they’d signed Pearce this offseason? I’m guessing pretty much every contender. Pearce is a late bloomer — he didn’t have his first full above-average season until age 31 — who is a weapon at the plate and capable of playing all over the field. There’s a place for a guy like this on every roster. The Tampa Bay Rays were able to sign Pearce with a one-year deal worth $4.75 million. They then flipped him to the Orioles for a prospect at the trade deadline.

Rodney is still going strong at age 39. The Padres gave him a one-year deal worth $2 million over the winter, he totally dominated for them (0.31 ERA and 0.87 WHIP) before being traded him to the Miami Marlins for a prospect. Textbook move by a rebuilding club. Rodney hasn’t had quite as much success in Miami, but as far as the Padres are concerned, they hit the one-year contract jackpot.

Carlos Torres RP / Milwaukee Brewers

ERA: 2.91WHIP: 1.19WAR: 1.5

During spring training Torres went from the New York Mets to the Atlanta Braves to the Milwaukee Brewers after being released. He’s found a home in Milwaukee as a rubber-armed swingman who can pitch multiple innings and give a rebuilding club length out of the bullpen. Long relievers tend to not be very good, though Torres has been excellent in that role for the Brewers, who are only paying him $950,000 this season.

Source: CBS Sports / Desmond, Fowler, and Napoli among MLB’s top bargain free agent signings