1. J.D. Martinez, RF
Age: 30
Old team: Arizona Diamondbacks
2017 stats: .303/.376/.690, 45 HR, 104 RBI
One thing to know: Martinez first broke out as an offensive star back in 2014, but the 30-year-old outfielder took things to a new level after a midseason trade sent him to Arizona, slugging .741 over 62 games. In all, he hit more home runs than all but two players: Giancarlo Stanton and Aaron Judge. The Diamondbacks should fight tooth and nail to bring him back.
Best fit: Arizona Diamondbacks
2. Yu Darvish, RHP
Age: 31
Old team: Los Angeles Dodgers
2017 stats: 10-12, 3.86 ERA, 10.1 K/9, 1.163 WHIP
One thing to know: Don't let Darvish's pitiful performance in Game 7 of the World Series cloud your view of him. The former Ranger is a proven commodity who got better as the season went on, posting a 3.44 ERA and 11.1 strikeouts per inning after being traded to the Dodgers. The Cubs could use some new blood in their rotation.
Best fit: Chicago Cubs
3. Eric Hosmer, 1B
Age: 27
Old team: Kansas City Royals
2017 stats: .318/.385/.498, 25 HR, 94 RBI
One thing to know: Hosmer became a franchise icon in Kansas City, leading the team to a World Series title while staying heavily involved in community outreach programs. His slash line will make him a popular target, but with a glut of first basemen on the open market, it remains to be seen how much teams will be willing to pay for intangibles. The Yankees should be among the first teams to call.
Best fit: New York Yankees
4. Jake Arrieta, RHP
Age: 31
Old team: Chicago Cubs
2017 stats: 14-10, 3.53 ERA, 8.7 K/9, 1.218 WHIP
One thing to know: Arrieta's 2015 campaign was one of the finest seasons on the mound in recent memory, complete with three shutouts, a 1.77 ERA, and the National League Cy Young Award. While he's seen diminished results in the seasons since then, he made an impressive return to form during this year's postseason, posting a 0.84 ERA across 10.2 innings. The Nationals shouldn't be confident in A.J. Cole as a member of next year's rotation, and Gio Gonzalez has just one year remaining on his deal.
Best fit: Washington Nationals
5. Lorenzo Cain, CF
Age: 31
Old team: Kansas City Royals
2017 stats: .300/.363/.440, 15 HR, 49 RBI, 26 SB
One thing to know: Cain's skills at the plate will attract some phone calls, but his main calling card has always been defense. The Florida native has compiled 11 defensive Wins Above Replacement since his debut with the Royals and probably should have won a Gold Glove by this point, though playing in the same league Kevin Kiermaier makes that a difficult task. Expect the Rangers to be among the interested teams.
Best fit: Texas Rangers
6. Alex Cobb, RHP
Age: 30
Old team: Tampa Bay Rays
2017 stats: 12-10, 3.66 ERA, 6.4 K/9, 1.221 WHIP
One thing to know: After missing all of 2015 and most of 2016 due to Tommy John surgery, Cobb put up a nice comeback campaign this year, including a surprisingly staunch total of 179.1 innings. With a 3.36 ERA since the start of the 2013 season, he's a solid bet to keep producing for the next few years. He'd be a savvy pickup for the Brewers.
Best fit: Milwaukee Brewers
7. Lance Lynn, RHP
Age: 30
Old team: St. Louis Cardinals
2017 stats: 11-8, 3.43 ERA, 7.4 K/9, 1.229 WHIP
One thing to know: Lynn ranked 14th in the National League in innings pitched in his first year back from Tommy John surgery. With at least 3 Wins Above Replacement in each of his last three seasons, he has a high floor, so his asking price should reflect that. Even so, the Cubs have rotation holes that need to be filled.
Best fit: Chicago Cubs
8. Jay Bruce, RF
Age: 30
Old team: Cleveland Indians
2017 stats: .254/.324/.508, 36 HR, 101 RBI
One thing to know: The Indians' postseason run stopped short at the ALDS, but it was still an eventful season for Bruce. He topped his career high in home runs and was along for the ride during Cleveland's record-breaking winning streak, though he hit just .156 over those 22 games. After scoring the fewest runs in the American League in 2017, the Blue Jays would love to add his power.
Best fit: Toronto Blue Jays
9. Wade Davis, RHP
Age: 32
Old team: Chicago Cubs
2017 stats: 59 G, 2.30 ERA, 32 SV, 12.1 K/9, 1.142 WHIP
One thing to know: Davis was a low-end starter with a 4.26 career ERA when a move to the bullpen changed his career. Armed with a hard fastball and a tricky cutter, he anchored one of the most outstanding relief corps in baseball history with the Kansas City Royals, winning back-to-back pennants in 2014 and 2015. The Cubs can't afford to lose him.
Best fit: Chicago Cubs
10. Shohei Otani, RHP/OF
Age: 23
Old team: Hokkaido Nippon-Ham Fighters
2017 stats: .332/.403/.540, 8 HR, 31 RBI, 3-2, 3.20 ERA, 10.3 K/9, 1.263 WHIP
One thing to know: Otani can impact the game at the plate as well as from the mound, but he may be forced to pick one or the other once he signs with an MLB club. Either way, he'd immediately become one of the most intriguing prospects in any organization. It's anyone's guess as to where he'll end up, but the Dodgers have shown a willingness to spend big on international talent in the past.
Best fit: Los Angeles Dodgers
11. Todd Frazier, 3B
Age: 31
Old team: New York Yankees
2017 stats: .213/.344/.428, 27 HR, 76 RBI
One thing to know: Some players struggle upon being traded to the Bronx, but Frazier didn't miss a beat after going from the White Sox to the Yankees in mid-July. He posted a representative .222/.365/.423 line while playing credible defense and providing an emotional spark in the dugout, setting himself up for a nice contract. The Twins should consider moving Miguel Sano to designated hitter and slotting Frazier into the hot corner.
Best fit: Minnesota Twins
12. Zack Cozart, SS
Age: 32
Old team: Cincinnati Reds
2017 stats: .297/.385/.548, 24 HR, 63 RBI
One thing to know: This Mississippi product had a big breakout season at the plate in 2017, raising his career OPS+ by a whole 10 points in the process. That performance should put him in line for a multi-year deal, but most contenders already have a star entrenched at shortstop. With the Reds' payroll looking decidedly trim, they should consider a reunion.
Best fit: Cincinnati Reds
13. Jake McGee, LHP
Age: 31
Old team: Colorado Rockies
2017 stats: 62 G, 3.61 ERA, 3 SV, 9.1 K/9, 1.099 WHIP
One thing to know: McGee spent the 2017 season showing why the Rockies traded for him in the first place, raising his ERA+ by 36 points from last year. He also slashed his home run rate by two-thirds, no easy task playing in Coors Field. After falling just short in a valiant playoff push, the Brewers could use another lefty to pair with Josh Hader, who looked gassed by the end of the season.
Best fit: Milwaukee Brewers
14. Logan Morrison, 1B
Age: 30
Old team: Tampa Bay Rays
2017 stats: .246/.353/.516, 38 HR, 85 RBI
One thing to know: Morrison finally made good on the immense potential he once showed as a prospect, leading the Rays in offensive Wins Above Replacement and OPS+. His counting stats would look even better if he hadn't played half his games at Tropicana Field — he saved his best work for the road, slashing .272/.392/.628 in those contests. The Red Sox could use some more power in their lineup.
Best fit: Boston Red Sox
15. Mike Moustakas, 3B
Age: 29
Old team: Kansas City Royals
2017 stats: .272/.314/.521, 38 HR, 85 RBI
One thing to know: Moustakas posted career-high power numbers in 2017, but his on-base percentage remained way down from his peak in 2015, when he posted a .348 clip. Still, there should be a number of teams interested in his mighty swing, and the Mets should be among them.
Best fit: New York Mets
16. Addison Reed, RHP
Age: 28
Old team: Boston Red Sox
2017 stats: 77 G, 2.84 ERA, 19 SV, 9 K/9, 1.053 WHIP
One thing to know: Reed's main calling card is his versatility: he's had success in both the American League and the National League, as both a closer and a setup man, and against both righties and lefties. That makes it tough to predict where he'll end up, but the Nationals could certainly use him as a replacement for seventh-inning man Brandon Kintzler.
Best fit: Washington Nationals
17. Pat Neshek, RHP
Age: 37
Old team: Colorado Rockies
2017 stats: 71 G, 1.59 ERA, 10.0 K/9, 0.866 WHIP
One thing to know: Armed with an unorthodox sidearm delivery, Neshek may not be the most intimidating reliever in baseball, but he is a premier late-game threat anyway. The veteran defied his lack of velocity by averaging more than a strikeout per inning in 2017. Colorado would be wise to bring him back.
Best fit: Colorado Rockies
18. Carlos Gomez, CF
Age: 31
Old team: Texas Rangers
2017 stats: .255/.340/.462, 17 HR, 51 RBI, 13 SB
One thing to know: Gomez would have loved to hit free agency back when he was contending for MVP awards, but he should still net a nice chunk of change this winter. The Dominican has been erratic through just over two seasons in the American League, but he still boasts a relatively rare combination of power and center field defense. The Giants are in desperate need of outfield help, and the organization may be too decorated to embrace a full-on rebuild.
Best fit: San Francisco Giants
19. Greg Holland, RHP
Age: 31
Old team: Colorado Rockies
2017 stats: 61 G, 3.61 ERA, 41 SV, 11.0 K/9, 1.151 WHIP
One thing to know: Holland co-led the National League with 41 saves, but that impressive counting stat belies a rocky second half: he posted an 8.47 ERA over his final 19 games of 2017. Even so, the Cardinals may be interested in the flame-throwing closer as an experienced replacement for Seung-hwan Oh.
Best fit: St. Louis Cardinals
20. Jonathan Lucroy, C
Age: 31
Old team: Colorado Rockies
2017 stats: .265/.345/.371, 6 HR, 40 RBI
One thing to know: Lucroy has lost some of his ability behind the plate, but he can still provide value in the lineup. He posted a lousy .635 OPS through his first 77 games of 2017, but a midseason trade to Colorado rejuvenated him, leading to a .310/.429/.437 line down the stretch. After a performance like that, it wouldn't be a surprise to see him back at Coors Field in time for Opening Day.
Best fit: Colorado Rockies
21. Tony Watson, LHP
Age: 32
Old team: Los Angeles Dodgers
2017 stats: 71 G, 3.38 ERA, 10 SV, 7.2 K/9, 1.380 WHIP
One thing to know: MLB teams will pay a lot of money for a good lefty reliever, and Watson fits the bill. While he hasn't made an All-Star team since his first appearance in 2014, the Iowa native has been incredibly durable, appearing in 70 games or more in each of the past four seasons. He'd be a smart pickup for the Astros, especially after he won two games against them in the World Series.
Best fit: Houston Astros
22. Neil Walker, 2B
Age: 32
Old team: Milwaukee Brewers
2017 stats: .265/.362/.439, 14 HR, 49 RBI
One thing to know: Walker is becoming more injury-prone as he advances deeper into his career, appearing in just 224 games over the past two seasons. That said, he's remarkably consistent on offense, and his ability to hit from both sides of the plate is a big plus. Look for him to move to the American League, where occasional reps at DH can help him stay healthy.
Best fit: Los Angeles Angels
23. Andrew Cashner, RHP
Age: 31
Old team: Texas Rangers
2017 stats: 11-11, 3.40 ERA, 4.6 K/9, 1.320 WHIP
One thing to know: Cashner's strong season should put him in line for a healthy payday, but don't expect him to choose his next team based on money alone. After being traded to the Marlins last season, the hirsute hurler said that the team's no-beard policy was "a big deal to me in free agency." That rules out the Yankees, but not the Cardinals, who have lost two workhorse starters in the last few months.
Best fit: St. Louis Cardinals
24. Carlos Santana, 1B
Age: 31
Old team: Cleveland Indians
2017 stats: .259/.363/.455, 23 HR, 79 RBI
One thing to know: There are a slew of power hitters on the market this winter, but few have demonstrated as much consistency and durability as Santana. The Dominican has hit 18 or more home runs in every one of his seven full seasons, posting a tantalizing .249/.365/.445 during his time with the Tribe. The Mariners used a platoon at first base for much of this season; Santana represents an everyday option.
Best fit: Seattle Mariners
25. Brandon Kintzler, RHP
Age: 33
Old team: Washington Nationals
2017 stats: 72 G, 3.03 ERA, 29 SV, 4.9 K/9, 1.150 WHIP
One thing to know: Kintzler logged 28 saves and an All-Star berth for the Twins before a deadline deal sent him to the nation's capital. He became Dusty Baker's go-to arm in the seventh inning, posting a 2.13 ERA for the Nationals before an abysmal outing in his final game of the season. The Twins went on a surprising playoff run after they dealt Kintzler, so a reunion would make perfect sense.
Best fit: Minnesota Twins
26. Eduardo Nunez, IF
Age: 30
Old team: Boston Red Sox
2017 stats: .313/.341/.460, 12 HR, 58 RBI, 24 SB
One thing to know: Nunez's season was cut short by a knee injury, but his 24 stolen bases still ranked 15th in all of baseball. Almost every team would benefit from adding a utility infielder who can hit for power and fly on the basepaths, including the Royals, who are losing a ton of talent this offseason.
Best fit: Kansas City Royals
27. Carlos Gonzalez, RF
Age: 32
Old team: Colorado Rockies
2017 stats: .262/.339/.423, 14 HR, 57 RBI
One thing to know: While the Rockies soared to their best record since 2009, Gonzalez struggled this season, posting his worst numbers at the plate since his rookie year. Still, his age and career line of .262/.339/.423 make him an enticing bounce-back candidate. Across the division, the Diamondbacks may need a slugging right fielder to replace J.D. Martinez.
Best fit: Arizona Diamondbacks
28. CC Sabathia, LHP
Age: 37
Old team: New York Yankees
2017 stats: 14-5, 3.69 ERA, 7.3 K/9, 1.271 WHIP
One thing to know: Most pitchers decline once they enter their mid-30s, but not Sabathia, who's improved his ERA in every year since his injury-shortened 2014 campaign. His veteran experience and poise under pressure make him an ideal candidate to return to the Yankees' young rotation in 2018.
Best fit: New York Yankees
29. Tyler Chatwood, RHP
Age: 27
Old team: Colorado Rockies
2017 stats: 8-15, 4.69 ERA, 7.3 K/9, 1.442 WHIP
One thing to know: Chatwood's numbers don't exactly jump off the page, but at just 27 years old, he's a strong candidate to rebound in the seasons ahead. The Orioles never seem to be out of contention for long, and they could use a rotation stopgap to go along with Kevin Gausman and Dylan Bundy.
Best fit: Baltimore Orioles
30. Alex Avila, C
Age: 30
Old team: Chicago Cubs
2017 stats: .264/.387/.447, 14 HR, 49 RBI
One thing to know: Avila's bat quieted down after a midseason trade sent him from Detroit to Chicago, but his on-base skills remained as potent as ever, helping him to a .369 mark while on the North Side. For all their dominance this year, the Indians could use an extra catcher to split the starting duties with Yan Gomes.
Best fit: Cleveland Indians