Top 25 MLB free agents 2023-24: Jordan Montgomery's signing completes glacial free-agency period

Here's our rundown of the 2023-24 free-agent class that was

Shohei Ohtani was the most anticipated MLB free agent of all time. Despite an elbow injury that will keep him from pitching in 2024, he signed the richest deal in league history with the Los Angeles Dodgers, and his gravitational presence that dominated the offseason will likely carry into the 2024 season.

The Dodgers, the winners of Ohtani's services, didn't stop there. They also landed the second-most coveted arm in free agency, Yoshinobu Yamamoto.

Beyond Ohtani and Yamamoto, there was an intriguing class of starting pitchers and a desperately thin group of hitters, some of whom remained unsigned with Opening Day just weeks and then days away.

Below, we’ve ranked the top 25 MLB free agents of the 2023-24 class in order of their (subjectively projected) immediate impact, along with some key 2023 metrics and information.

  • Their age as of June 30, 2024, the common marker to delineate a player’s seasonal age.

  • For hitters: Their OPS+, which shows how their park-adjusted offensive line compared to a league-average hitter, with 110 meaning 10% better and 90 meaning 10% worse.

  • For pitchers: Their ERA+, which is the same but for park-adjusted ERA.

  • Their 2023 WAR, per FanGraphs' calculations.

  • Qualifying offer: If the player’s 2023 team extended them the “qualifying offer,” which is a one-year deal worth $20.325 million this year. The team earns a compensatory draft pick if the player declines and departs.

The 2023-24 free-agency period has finally come to a close. (Taylar Sievert/Yahoo Sports)
The 2023-24 free-agency period has finally come to a close. (Taylar Sievert/Yahoo Sports)

1. Shohei Ohtani, two-way player

Age: 29 | OPS+: 184 | ERA+: 142 | WAR: 9.1 | Rejected qualifying offer
UPDATE: Ohtani joined the Dodgers on a 10-year, $700 million contract, as he posted on Instagram on Dec. 9.

Why the Dodgers wanted him: Why wouldn’t they want him? At a base level, just as a reminder, Ohtani was most recently seen posting a season as both MLB’s best hitter and a starting pitcher who made 23 starts with a 3.14 ERA and a boatload of strikeouts. From a broader view, Ohtani will play for a franchise that is regularly in the playoffs — a first for him in his MLB career. The Dodgers will immediately earn a swell of Ohtani-adoring fans and get a shot at having their logo chiseled on his future Hall of Fame plaque, too.

There are complications with this signing, of course. Ohtani’s elbow gave way in the second half of 2023, and he won’t be providing the pitching side of his act until 2025. As a result, there are legitimate, if depressingly cynical, questions to ask about his future on the mound. The next time he pitches in the majors, he will be beyond his 30th birthday. No one else has managed to perform his rigorous, borderline superhuman schedule at any age, and it will get only tougher for him to maintain.

If and when Ohtani starts reapportioning his workload, he’s likely to focus more on hitting. That’s based on his track record in MLB thus far and the general baseball truths of durability and value. Since his 2018 debut, he has the sixth-best OPS+ in the majors (minimum 2,000 plate appearances), and he could more easily augment that side of his game with baserunning (which he already does well) and potentially fielding if he someday cuts back on pitching.

What it took to get him: Entering the sweepstakes, it was fair to guess that the bidding, even with Ohtani’s injury, likely started around $500 million. He was expected to break most or all MLB contract records.

He certainly crushed those, getting $700 million over 10 years from the Dodgers. His former Angels teammate Mike Trout previously had the richest total deal in MLB history, at $426.5 million. Aaron Judge had the largest free-agent deal at nine years, $360 million. Max Scherzer and Justin Verlander were tied for the highest average annual value in MLB history at $43.3 million. The Dodgers helped Ohtani cruise past all those benchmarks.

2. Yoshinobu Yamamoto, starting pitcher

Age: 25 | 1.21 ERA in Japan’s NPB
UPDATE: Yamamoto got the largest pitching contract in MLB history from the Dodgers. The deal, agreed to Dec. 21, is for $325 million and 12 years.

Why the Dodgers wanted him: Only 25 and already perhaps the most proven Japanese pitcher to make the leap to MLB, Yamamoto is a top-of-the-rotation arm the Dodgers sorely needed. A shorter right-hander who stands 5-foot-10 but delivers a mid-90s fastball and a devastating splitter, Yamamoto put up mind-boggling numbers in Japan’s NPB, the second-best professional league in the world. Across his seven seasons and 172 games, he posted a 1.82 ERA that compares favorably to a) everyone and b) the New York MetsKodai Senga, who had a 2.85 ERA in NPB before making a very successful transition to the majors in 2023 — his 2.98 ERA was good for a 142 ERA+ and will likely earn him a top-three NL Rookie of the Year finish and some Cy Young votes.

Yamamoto’s youth, along with the improvements around scouting and pitch data, likely gave MLB teams more confidence in how his stuff will play in America. It certainly drew big-market interest. New York Yankees GM Brian Cashman memorably scouted him in person during a no-hitter one of two Yamamoto threw this season. It's also probably fair to guess that Ohtani helped the Dodgers' successful recruiting efforts.

What it took to get him: Masahiro Tanaka’s seven-year, $155 million deal with the Yankees, also signed ahead of his age-25 season, was the baseline here. That was the richest deal a Japanese pitcher had earned while making the jump to MLB. Yamamoto beat it.

3. Aaron Nola, starting pitcher

Age: 31 | ERA+: 96 | WAR: 3.9 | Rejected qualifying offer
UPDATE: Nola re-signed with the Phillies on a seven-year, $172 million deal agreed to Nov. 19.

Why the Phillies wanted him: A durable, top-of-the-rotation arm who has spent his entire career with the Philadelphia Phillies, Nola was a classic test case for the perils of trying to measure pitching success. His year-by-year ERA numbers (4.63 in 2021, 3.25 in 2022, 4.46 in 2023) paint a picture of wild inconsistency, but anyone watching could tell you that isn’t exactly the case, as he was often the victim of a leaden Phillies defense.

Nola's underlying numbers — the ones that zero in on strikeouts, walks and homers — point to a steady arm you’d be thrilled to have as a top-two starter on a contending team. But his 2023 represented a legitimate dip, as he allowed more home runs and generally didn’t look as sharp with his pitches.

Ultimately, he reigned as the best non-Ohtani free agent with an MLB track record because compared to the other options at the top of this class, Nola looks like an unshakeable metronome keeping time via a direct line to the rotation of the Earth. His velocity has remained steady, he still wields a phenomenal curveball, and only Gerrit Cole and Sandy Alcantara have soaked up more innings the past three seasons. The main concern, however, dovetails with that. Thanks to the Phillies’ October success, Nola has tallied a combined total of 447 1/3 innings the past two seasons.

What it took to get him: The Phillies are still a win-now contender, and they acted accordingly with this signing. Nola’s stature and career arc are similar to when Jon Lester signed a six-year, $155 million pact with the Chicago Cubs ahead of 2015. He beat the less-proven Carlos Rodón’s $162 million from last offseason.

4. Blake Snell, starting pitcher

Age: 31 | ERA+: 182 | WAR: 4.1 | Rejected qualifying offer
UPDATE: Snell reportedly agreed March 18 on a 2-year, $62 million deal with the Giants that includes an opt-out clause after the 2024 season, according to multiple sources.

Why the Giants wanted him: Well, he's the reigning NL Cy Young winner. That trophy joined the 2018 AL Cy Young Award on Snell's mantle and put him in elite company; he’s just the seventh pitcher to earn the honor in each league.

The problem: Between those two sparkling, award-worthy campaigns, Snell pitched to just a 3.85 ERA (104 ERA+). The source of most of the mediocrity — poor command — wasn’t actually solved in his terrific 2023 but was simply overwhelmed by positive attributes. Snell led MLB in walks (as in, he allowed the most) but got away with it by dialing up the league’s second-best strikeout percentage and benefitting from the third-lowest batting average on balls in play. To be sure, his dynamite stuff plays into limiting the effectiveness of contact when hitters do put the bat on the ball, but extremes in that department generally swing back toward average. Overall, Snell entered free agency coming off a tremendous season that most teams clearly didn't trust.

What it took to get him: Snell likely wanted something similar to Robbie Ray's deal with the Mariners coming off his Cy Young season. With teams still skeptical about his future production, Ray signed for five years and $115 million. But after Snell's offseason dragged out until 10 days before Opening Day, all bets were off, and the balance of negotiating power clearly shifted in teams' favor. We'll likely spend a lot of this season unpacking what went wrong for Boras Corp. this winter.

5. Cody Bellinger, center fielder

Age: 28 | OPS+: 133 | WAR: 4.1 | Rejected qualifying offer
UPDATE: Bellinger re-signed with the Cubs on a 3-year, $80 million deal agreed to Feb. 25.

Why the Cubs wanted him: The former NL MVP used a one-year showcase with Chicago to tremendous effect. After two consecutive brutal seasons in Los Angeles, he rebounded at Wrigley Field, with a .307 batting average, 26 homers and his usual splendid defense.

But he did it in a perplexing way. The return of Bellinger's power did not come with resurgent exit velocities. He struggled overall against fastballs and built much of his impressive batting line against off-speed pitches and sliders. That’s not inherently a bad thing, but it means he has evolved into a different type of hitter than the one we originally knew. And this version likely doesn’t have as much wiggle room to remain a good hitter as pitchers adjust.

Still, Bellinger is only 28, and he was one of the only premium position players on the market. Even with a serious step back on offense, his center-field defense will make a difference for a contender. And for the Cubs, Bellinger represented their best position player last season. It would've been a massive loss to see him leave for another team.

What it took to get him: Bellinger likely began the offseason hoping to beat George Springer’s six-year, $150 million deal with the Toronto Blue Jays, but even with a slim supply of high-end hitters, this winter's slow-moving market ultimately depressed the length and total value of this deal, landing him at three years, $80 million, with opt-outs after the first two years.

6. Jordan Montgomery, starting pitcher

Age: 31 | ERA+: 138 | WAR: 4.3
UPDATE: Montgomery reportedly agreed March 26 on a 1-year, $25 million deal with the Diamondbacks, according to ESPN's Jeff Passan.

Why the D-backs wanted him: Nobody did more for their stock after the 2023 trade deadline than Montgomery. He followed a heartening first half with the St. Louis Cardinals with a star turn in Texas. Leading the Rangers through an injury-pocked wilderness of a second half and then starring in the playoffs, the 6-foot-6 lefty definitively proclaimed that yes, he has more to offer than his previous employers gave him credit for.

What it took to get him: This offseason did not go as planned for Montgomery, who originally was probably targeting something in the range of five years, $110 million but instead settled for what is essentially a "prove-it" deal with a vesting option for 2025.

7. Sonny Gray, starting pitcher

Age: 34 | ERA+: 154 | WAR: 5.3 | Rejected qualifying offer
UPDATE: Gray joined the Cardinals on a three-year, $75 million contract agreed to Nov. 27.

Why the Cardinals wanted him: Maybe it was sneaky because of Gray’s relatively advanced age and his locale in Minnesota, but the veteran’s 2023 might be the most impressive of this group. Never reliant on overpowering velocity, Gray used a menagerie of pitches to limit home runs and breeze through innings en route to a 2.79 ERA. Since 2019, only eight pitchers who have thrown at least 500 innings have better park-adjusted ERA marks than Gray. He projected to be a perfect veteran stabilizing addition for a thin rotation that nevertheless supports a potential winner.

What it took to get him: He deserved to beat the Chris Bassitt deal, which was three years and $63 million. There’s also a strong case that Gray’s unyielding recent run-prevention record could've warranted a fourth year and something around $80 million.

8. Matt Chapman, third baseman

Age: 31 | OPS+: 108 | WAR: 3.5 | Rejected qualifying offer
UPDATE: Chapman agreed March 1 on a three-year, $54 million deal with the Giants. The deal reportedly includes opt-outs after the first and second years.

Why the Giants wanted him: April 2023 Chapman might've been No. 2 on this list. Second-half Chapman was barely on it. This is the rub for the superlative defensive third baseman, whose bat has not really found equilibrium at any point since he had hip surgery in 2020. It no longer seems realistic to harbor hopes that he will hit his MVP-contender stride for full seasons instead of a month or two at a time, but Chapman, for at least another few years, comes with a floor of elite defense at an important position. Especially in this thin winter for hitters, the Giants will gladly accept a sub-.240 batting average and 20-ish homer pop, with some pie-in-the-sky hope for more as a bonus.

What it took to get him: The best contract guidance for Chapman might've come from other positional realms in which defense is more of the formula. Catcher Yasmani Grandal signed a four-year, $73 million contract at the height of his framing powers; that's a bit over $18 million per year. Chapman's deal was shorter with opt-outs, but the annual value was about right.

9. Josh Hader, relief pitcher

Age: 30 | ERA+: 321 (not a typo) | WAR: 1.7 | Rejected qualifying offer
UPDATE: Hader joined the Astros on a five-year, $95 million deal agreed to Jan. 18.

Why the Astros wanted him: If you’re going to pay for an impact relief pitcher, you won’t find many better options. Hader, the fireballing lefty, sandwiched a blip of a 2022 between two dominant seasons in which his ERA started with a one. A lockdown closer on a cursed San Diego Padres team in 2023, Hader looked like the best version of himself entering free agency. His 96 mph sinker and 86 mph slider would firm up the back of just about any bullpen in baseball history.

What it took to get him: Edwin Díaz, Aroldis Chapman and Kenley Jansen are the only relievers to eclipse $80 million, and Hader joined that club and surpassed nearly all of them. His deal is the largest contract ever for a relief pitcher in terms of present-day value.

10. Jung Hoo Lee, center fielder

Age: 25 | .898 career OPS in KBO
UPDATE: Lee joined the San Francisco Giants on a six-year, $113 million deal agreed to Dec. 12.

Why the Giants wanted him: A fleet-footed center fielder with an amazing nickname, Lee is expected to follow in the footsteps of former Kiwoom Heroes teammate Ha-Seong Kim once the KBO season concludes.

Lee, whose father was a KBO legend dubbed “Son of the Wind,” is logically and delightfully known as “Grandson of the Wind.” Although he missed the latter part of the 2023 season due to a fractured ankle, Lee bolstered his case as a useful MLB player by adding more power to his game in recent years. While the KBO is generally offense-friendly, Lee’s contact-heavy lines are impressive by any standard. In 2022, he batted .349 with only 32 strikeouts in 627 plate appearances.

If Kim’s experience with the Padres proves instructive, Lee might require a bit of on-the-job seasoning to get up to speed at the plate, but his defense should translate immediately, and he could have star potential as he adjusts to major-league pitching.

What it took to get him: More than it took to get Kim. The Padres shortstop, who signed for $28 million guaranteed, seemingly paved the way by eliminating some latent concerns about the level of competition in the KBO. Lee likely also benefitted from the lack of difference-making outfielders on the market.

11. Eduardo Rodriguez, starting pitcher

Age: 31 | ERA+: 134 | WAR: 3.0
UPDATE: Rodriguez joined the Arizona Diamondbacks on a four-year, $80 million contract agreed to Dec. 6.

Why the D-backs wanted him: The lefty had a resurgent 2023 that followed seasons marred by complications from COVID-19 and an absence to deal with personal matters. Rodriguez pairs a 92 mph four-seamer with a cutter and a changeup, most prominently. His first half was so good (2.64 ERA, 20.6% K-BB%) that it prompted the Dodgers to swing a deal for him — which he scuttled via his no-trade protection — and his second half (3.89 ERA, 11.2% K-BB%) raised some red flags about exactly which version of Rodriguez will show up on the next deal.

What it took to get him: In a pitching market with bigger headlining options, Rodriguez projected to land in the range between recent signings such as Taijuan Walker and Hyun-Jin Ryu, which was four years with a guarantee between $72 million and $80 million. He ended up on the ceiling of that.

12. Marcus Stroman, starting pitcher

Age: 33 | ERA+: 113 | WAR: 2.7
UPDATE: Stroman agreed Jan. 11 on a two-year, $37 million deal with the Yankees.

Why the Yankees wanted him: Ground balls and grounded expectations. There’s little question about what you will get from Stroman, the 5-foot-7 sinkerballer who produces ERAs in the mid-3.00s like clockwork. The only thing that kept him from outranking Rodriguez here was his more advanced age, though almost certainly some teams would've preferred Stroman’s steady formula for getting outs. He opted out of a deal with the Chicago Cubs to reset his value this winter.

What it took to get him: Initially, considering Stroman's age and lack of incredible ceiling to dream on, three years and something like $60 million seemed about right. With the slow market this winter, it ended up being less than that, landing at two years, plus a third-year vesting option, for an average of $18.5 million per year.

13. Tim Anderson, shortstop

Age: 31 | OPS+: 60 | WAR: -0.5
UPDATE: Anderson agreed with the Miami Marlins on a 1-year, $5 million deal, sources confirmed to Yahoo Sports on Feb. 22.

Why the Marlins wanted him: Well, not because of 2023. The two-time All-Star and 2019 AL batting champion labored through a miserable campaign while dealing with injuries and whatever general malaise befell the Chicago White Sox.

It’s difficult to fathom that the hitting talent who logged four consecutive seasons with a .300 average or better vanished, but it is reasonable to think Anderson might be approaching a defensive shift to second base. Still, the Marlins are taking a shot on a hitter at an up-the-middle spot who ranked among the 30 most valuable position players between 2019 and 2022.

What it took to get him: Anderson was a perfect candidate for a one-year pillow contract, with hopes of resetting his value. The $5 million deal is a reflection of just how far he has to go to bounce back.

14. Clayton Kershaw, starting pitcher

Age: 36 | ERA+: 177 | WAR: 2.3
UPDATE: Kershaw is rejoining the Dodgers on 1-year deal with a player option for 2025, agreed to Feb. 6. According to Joel Sherman of The New York Post, the deal is for $5 million guaranteed in 2024, plus up to $7.5 million in bonuses.

Why the Dodgers wanted him: In 2023, Kershaw had the second-best ERA (min. 100 innings) in baseball. Since the start of 2022, he has the best ERA (min. 200 innings). Since the start of 2021, he has the fourth-best ERA (min. 300 innings). Since the start of 2020, he has the second-best ERA (min. 350 innings). Since the start of 2019, he has the second-best ERA (min. 500 innings).

The Dodgers wanted Kershaw because the future Hall of Famer is still an ultra-elite pitcher when he’s on the mound. You also have to understand that he won’t necessarily be on the mound for more than 120 innings in 2024, as the Los Angeles mainstay underwent shoulder surgery that will keep him out until at least the middle of the season.

What it took to get him: It's safe to say the criteria included existing familiarity with the Kershaw family, a stadium within a metropolitan area he has presently or previously called home, the patience to wait for him to return from shoulder surgery and the understanding that you’ll probably need to do this whole thing again next winter. That meant the Dodgers or the Rangers, plus between $5 million and $12.5 million.

15. Lourdes Gurriel Jr., corner outfielder

Age: 30 | OPS+: 108 | WAR: 2.1
UPDATE: Gurriel rejoined the Diamondbacks on a three-year contract worth $42 million agreed to Dec. 17.

Why the D-backs wanted him: With strong bat-to-ball skills, an aggressive approach and solid power, the younger Gurriel has proven himself to be a worthy No. 6 hitter who can keep the line moving and crack the occasional big hit. Last season with the Diamondbacks, he showed marked improvement as a defender. It’s not usually a great idea to bank on sustainable defensive value from players eclipsing 30, but 2023 provided a positive sign that perhaps Gurriel has more staying power than it appeared prior to this season.

What it took to get him: Gurriel likely benefitted from the weak hitter crop this winter. Unspectacular but consistently starter-caliber numbers put him in line for three years and more than $40 million.

16. Teoscar Hernández, corner outfielder

Age: 31 | OPS+: 106 | WAR: 1.8
UPDATE: Hernández is another free-agent prize the Dodgers have claimed, as he signed with the club on a one-year, $23.5 million deal agreed to Jan. 7.

Why the Dodgers wanted him: Hernández does not have a rosy story to tell about his defensive progression. Yet he’s basically the flip side of Gurriel, a Wario to his Mario or vice versa, depending on whether you prioritize contact and well-roundedness or power, power, power.

The former Blue Jay, who plied his trade with the Seattle Mariners in 2023, is a threat to hit the ball very hard and over the fence but not such an omnipresent one that he should anchor a contending lineup. His batting averages aren’t bad at all — frequently landing at or above .260 — but his strikeout rate has remained steady around 30%, which dings his productivity in the middle of the order.

What it took to get him: His salary range projected to be probably similar to Gurriel’s but with wider error bars. The Dodgers got him for a hefty prove-it deal at $23.5 million.

17. Seth Lugo, starting pitcher

Age: 34 | ERA+: 115 | WAR: 2.8
UPDATE: Lugo joined the Royals on a three-year deal worth $45 million agreed to Dec. 12.

Why the Royals wanted him: Long a reliever for the Mets, Lugo bet on himself as a starter in 2023, and it largely paid off. Across 26 starts and 146 1/3 innings with the San Diego Padres, he maintained his velocity and wielded his wide arsenal to strong effect. Only four qualified starters turned in quality starts in a higher percentage of their outings than Lugo. That’s not bad for a supposed setup man, and it was more than enough to get him another turn in a rotation, this time on a multiyear deal.

What it took to get him: Multiple years and $15 million per year make this one of the largest free-agents deals the Royals have given to a pitcher.

18. Michael Wacha, starting pitcher

Age: 32 | ERA+: 127 | WAR: 2.6
UPDATE: Wacha joined the Royals on a two-year, $32 million contract, with an opt-out after the first season, agreed to Dec. 15.

Why the Royals wanted him: The right-hander who originally burst onto the scene as a postseason hero with the St. Louis Cardinals has reinvented himself as a kitchen-sink type who throws his changeup more than any other pitch in his arsenal (he throws both a four-seam and a sinker). His past two seasons, with two different teams, were almost carbon copies. And that’s a good thing. Now Wacha and Lugo, his 2023 Padres teammate, are headed to Kansas City together.

What it took to get him: Wacha likely wanted something in the range of Tyler Anderson’s three-year, $39 million deal but landed with a contract more like Ross Stripling’s recent two-year, $25 million agreement. If Wacha has a sparkling 2024, the opt-out in this deal will allow him to hit the market again next winter.

19. Lucas Giolito, starting pitcher

Age: 29 | ERA+: 91 | WAR: 1.0
UPDATE: Giolito landed a two-year deal with the Red Sox for $38.5 million. The deal, agreed to Dec. 29, includes an opt-out for Giolito after the first season.

Why the Red Sox wanted him: They think they can fix him. The 29-year-old who thrice received Cy Young consideration between 2019 and 2021 isn’t too old or too far removed from his peak to rediscover that form, but allowing more homers per nine innings than any other qualified starter the past two seasons isn’t a stumble to take lightly. Bouncing among three teams in a down-bound 2023, Giolito used fewer and fewer fastballs at each successive stop and wound up getting hit harder and harder.

That betrays the quandary that lies ahead of him. The short-armed, rising four-seam that helped him break out doesn’t seem to be fooling anyone now, but his slider and changeup don’t look up to the task of pulling hitters’ eyes off of it. The slider, in particular, has regressed since Giolito’s best days a few years ago. The Red Sox's pitching development could help him get back on track given enough time, and clearly Boston is making that bet right now, given the sheer number of home runs he has allowed.

What it took to get him: There was buzz that Giolito could've garnered an optimistic, Jameson Taillon-type deal in the four-year, $65 million range. The Red Sox didn't make that long of a commitment to Giolito but were willing to go over $19 million per season, with Giolito getting an opt-out after the first season.

20. Jeimer Candelario, corner infielder

Age: 30 | OPS+: 119 | WAR: 3.3
UPDATE: Candelario joined the Reds on a three-year, $45 million contract agreed to Dec. 6.

Why the Reds wanted him: Something like the Gurriel of the corner infield, Candelario is coming off a highly successful, one-year deal in which he played well enough to be moved as one of the marquee trade-deadline pieces. The Chicago Cubs recognized Candelario’s value as a professional hitter who will take his walks and use all fields but also understood that his best position is first base these days. He’s absolutely a useful starter; however, his rightful place on the defensive spectrum and his persistent risk of dangerously low batting averages cap his utility.

What it took to get him: In this particular winter, capped utility doesn't necessarily mean capped earnings. Candelario landed with an average of $15 million per year over three seasons.

21. Jorge Soler, designated hitter

Age: 32 | OPS+: 128 | WAR: 1.9
UPDATE: Jorge Soler and the Giants agreed Feb. 13 on a three-year, $42 million contract.

Why the Giants wanted him: The power. He hit 48 homers in 2019. He whacked three crucial homers in the 2021 World Series. He walloped 36 homers for the surprise Miami Marlins last season. There were a lot of less thrilling spells in between, but home runs matter, and Soler hits home runs.

What it took to get him: The Giants will pay Soler an average annual value of $14 million over the next three seasons.

22. Rhys Hoskins, first baseman

Age: 31 | Did not play in 2023 (injury)
UPDATE: Hoskins is joining the Milwaukee Brewers on a two-year, $34 million contract, with an opt-out after the first year, agreed to Jan. 23.

Why the Brewers wanted him: Coming off a torn ACL suffered in spring training, Hoskins is a bankable, right-handed slugger who can play first base or serve as the designated hitter. If he returns to his previous form, that means a .245 average and 25 to 30 homers.

What it took to get him: The opt-out after the first year will give Hoskins the chance to prove that his knee is healthy and his power is intact and then return to the market next year.

23. Robert Stephenson, relief pitcher

Age: 31 | ERA+: 138 | WAR: 0.9
UPDATE: Stephenson agreed to a three-year, $33 million deal with the Los Angeles Angels on Jan. 19.

Why the Angels wanted him: The onetime top prospect is a classic pop-up relief pitcher who discovered a secret weapon and now looks like a high-leverage option. After a midseason move to the Tampa Bay Rays, Stephenson honed and leaned into a diabolical cutter that sits between 88 and 90 mph. He made it his primary pitch, and batters flailed to a .101 average against it in 2023.

What it took to get him: The ballpark estimate was a three- or four-year contract worth $10 million or more per year, and that proved about right. Relief pitchers come at you fast.

24. Mitch Garver, designated hitter/catcher

Age: 33 | OPS+: 134 | WAR: 2.1
UPDATE: Garver joined the Mariners on a two-year deal worth $24 million, agreed to Dec. 24.

Why the Mariners wanted him: A hero in the Rangers’ World Series clincher, Garver absolutely mashes lefties and generates powerful contact when healthy. He shouldn’t be anyone’s plan as a primary catcher, but as a useful bat who can step in behind the plate if needed? Garver's a good guy to have around.

What it took to get him: The most lucrative catcher contract of the offseason so far beats out the Giants' 2-year, $8 million deal for Tom Murphy.

25. Jack Flaherty, starting pitcher

Age: 28 | ERA+: 86 | WAR: 1.8
UPDATE: Flaherty joined the Detroit Tigers on a one-year deal worth $14 million, signed Dec. 20.

Why the Tigers wanted him: An even younger pitcher in a similar boat as his high school teammate Lucas Giolito, Flaherty needs a reset. We’re a long way from his spectacular 2019, which seemed to announce the arrival of a young ace. He doesn’t need to get back to that (2.75 ERA across 196 1/3 innings) to be a great addition for someone this offseason, but Flaherty does need to rediscover the strike zone and the confidence to land his pitches there.

What it took to get him: Flaherty is young enough to rebuild his reputation and return to the market, so a one-year deal makes sense for him.

5 more names to know

Kevin Kiermaier, center fielder: The elite defender stayed healthy enough to play 129 games and log an above-average batting line in 2023. (Update: Kiermaier is returning to the Blue Jays on a one-year deal worth $10.5 million agreed to Dec. 26.)

J.D. Martinez, designated hitter: The best of the aging hitter class, Martinez reunited with hitting coach Robert Van Scoyoc and thrived with the Los Angeles Dodgers last year. (Update: Martinez reportedly agreed to a 1-year, $12 million deal with the Mets on March 21.)

Shota Imanaga, starting pitcher: Team Japan’s starter in their victory over Team USA in the World Baseball Classic final, Imanaga is a 30-year-old lefty with less spectacular results than Yamamoto but has a healthy opportunity nonetheless to succeed as a mid-rotation arm in MLB. (Update: Imanaga agreed on a four-year, $53 million deal with the Chicago Cubs on Jan. 9.)

Jordan Hicks, relief pitcher: Still only 27 years old, Hicks tamed his premium velocity better than ever after a deadline trade to Toronto. (Update: Hicks signed with the Giants on a four-year, $44 million deal agreed to Jan. 12.)

Craig Kimbrel, relief pitcher: Maybe we saw the last of the future Hall of Famer in a rough NLCS meltdown with the Phillies, but it’s tough to bet too confidently against a reliever who just keeps landing closer jobs. (Update: Kimbrel joined the Orioles on a one-year, $13 million deal agreed to Dec. 6.)