You know Major League Baseball’s offseason has maintained an odd cadence when the end of the third week of January feels more like the Winter Meetings than the Winter Meetings themselves did. Indeed, within 24 hours last week, we saw the signings of Kyle Tucker, Bo Bichette, and J.T. Realmuto — or two of the top three and three of the top 13 free agents in this offseason’s class.
While those moves created more clarity around the league, they did not put a bow on the winter. With just more than three weeks to spare until pitchers and catchers report to camps in Arizona and Florida, there’s still a lot of business that needs to be conducted across the league. To that end, CBS Sports is using today to “reset” the winter. Below, you’ll analysis on both our top five remaining free agents and five of the league’s most notable trade candidates. You’ll also find our predicted landing spot for each player, though keep in mind that those are 1) guesses and 2) dependent on the other guesses being right.
Above all else, this exercise is merely to show how many more notable names could be on the move over the coming weeks. Now, let’s get to it.
Free agents
1. LHP Framber Valdez
Preexisting relationships don’t mean much when it comes to the free-agent market. Still, Valdez joining the Orioles, thereby reuniting with some of the Astros’ old brass, continues to make the most sense on paper. He’d provide Baltimore’s rotation with a boost and would serve as a fitting capper to an eventful offseason that already saw the Orioles add Pete Alonso, Taylor Ward, Shane Baz, and Ryan Helsley to their roster. Landing spot: Orioles
2. OF Cody Bellinger

Bellinger returning to the Yankees was the most logical outcome of his free agency heading into the winter. Things have dragged on for long enough that you start to wonder if another party could swoop in — be it the Mets, the Phillies, the Blue Jays, whomever. We’ll stick with the Yankees for now, in part because retaining Bellinger would empower them to ship out Jasson DomÃnguez for a pitcher. Landing spot: Yankees
3. 3B Eugenio Suárez

You have to feel bad for Suárez. He homered 49 times and was considered the top hitter moved at the trade deadline, yet his advanced age (he’s 34), extreme swing-and-miss tendencies, and lacking defense has rendered him a forgotten man on the free-agent market. The Mariners seem to have their attention elsewhere (as we’ll address momentarily), suggesting Suárez may have to take his talents elsewhere. The Red Sox are an obvious fit, but they may prefer a younger option like Isaac Paredes. That, in turn, would leave the door open for the Pirates to add more pop to their lineup. Landing spot: Pirates
4. RHP Zac Gallen

Gallen did his best to recover from a miserable start to his walk year, but his free-agent appeal took a hit once he was tendered the qualifying offer. He declined it and decided to test the market all the same, but it’s not clear if that decision is going to pay off. A return to the Diamondbacks seems like the cleanest path forward, but it’s theoretically possible that a team like the Angels or the Giants jump on what they perceive to be a buy-low opportunity — even if it means giving up a draft pick. Landing spot: Angels
5. RHP Justin Verlander

Verlander is a past Cy Young Award winner and a future Hall of Famer. If the latter parts of the 2025 season are any indication, he’s also a positive present-day contributor. Verlander salvaged what looked like a lost year by putting forth an impressive 13-start stretch after tinkering with his mechanics and forging a sweeper. He shouldn’t be cast as any club’s No. 1 or 2 starter heading into the new year, but a team employing him as the world’s most famous No. 3 or 4 is in a good state of being. The Orioles have been publicly connected to Verlander. We have them landing the aforementioned Valdez, so here’s a blindfolded dart throw at where he signs instead. Landing spot: Braves
Trade candidates
1. LHP Tarik Skubal, Tigers

If nothing else, the gap between the arbitration numbers filed by Skubal and the Tigers ensured that his name would again populate the trade rumor mill. It would be professional negligence if other teams didn’t inquire on Skubal, the back-to-back American League Cy Young Award winner, in the wake of that news. Ditto for the Tigers and listening to what those clubs have to say. That doesn’t mean that a deal is a given or even probable, however. Things can change quickly in this sport, to be sure, but we’re continuing to operate under the assumption that Skubal opens the season with Detroit. Landing spot: Tigers
2. RHP Freddy Peralta, Brewers

You can understand how market forces may have moved the Brewers off their original position of not wanting to trade Peralta. He’s simply too good (career 117 ERA+) and too inexpensive (he’s owed $8 million in his walk year) to not draw interest from contending clubs. The Brewers have mastered the craft of trading quality arms for underrated players who can contribute immediately — they netted infielder Caleb Durbin as part of last winter’s Devin Williams trade — and it seems reasonable to expect a similar outcome here. While Peralta’s shared history with top Mets executive David Stearns makes this feel lazy, it makes too much sense on paper to go another direction. Landing spot: Mets
3. LHP MacKenzie Gore, Nationals

The Nationals’ new front office hasn’t yet altered the roster in a meaningful way. Gore, now with just two seasons of team control remaining, makes sense as the first big domino to tip over. He’s posted a league-average ERA in 89 starts over the last three years, all the while maintaining the perception that there’s more chicken left on the bone. There’s probably something to that belief given he’s a lefty with four average or better pitches. Any number of teams would make sense for him depending on where Valdez, Peralta, and some others mentioned above wind up. Landing spot: Yankees
4. 2B/LF Brendan Donovan, Cardinals

Donovan was considered one of the hottest names on the trade market in November. Two months later, he’s still with the Cardinals. That figures to change soon enough. Although Donovan is under team control through the 2027 season, there’s no inherent reason for the Cardinals to keep him around — not with them retooling their roster for the long haul. His combination of above-average offense (he’s tallied at least a 114 OPS+ in each of his four seasons to date) and defensive versatility makes him a fit for most rosters. We’re guessing that the Mariners will find a way to leverage their impressive farm system depth to get a deal done. Landing spot: Mariners
5. 2B/3B Brett Baty, Mets

The Mets have added three veterans this winter (Bo Bichette, Marcus Semien, and Jorge Polanco) to an infield that already had more names than spots available. Logic dictates someone has to go before Opening Day. Baty might be the most sensible of the bunch. He’s a former first-round pick who finally established himself as a big-league player last season, notching a 111 OPS+ while appearing more than 50 times each at second and third base. A team who misses out on Donovan might see him as a compelling consolation prize — if he’s not dealt elsewhere first. Landing spot: Brewers
require.config({“baseUrl”:”https://sportsfly.cbsistatic.com/fly-385/bundles/sportsmediajs/js-build”,”config”:{“version”:{“fly/components/accordion”:”1.0″,”fly/components/alert”:”1.0″,”fly/components/base”:”1.0″,”fly/components/carousel”:”1.0″,”fly/components/dropdown”:”1.0″,”fly/components/fixate”:”1.0″,”fly/components/form-validate”:”1.0″,”fly/components/image-gallery”:”1.0″,”fly/components/iframe-messenger”:”1.0″,”fly/components/load-more”:”1.0″,”fly/components/load-more-article”:”1.0″,”fly/components/load-more-scroll”:”1.0″,”fly/components/loading”:”1.0″,”fly/components/modal”:”1.0″,”fly/components/modal-iframe”:”1.0″,”fly/components/network-bar”:”1.0″,”fly/components/poll”:”1.0″,”fly/components/search-player”:”1.0″,”fly/components/social-button”:”1.0″,”fly/components/social-counts”:”1.0″,”fly/components/social-links”:”1.0″,”fly/components/tabs”:”1.0″,”fly/components/video”:”1.0″,”fly/libs/easy-xdm”:”2.4.17.1″,”fly/libs/jquery.cookie”:”1.2″,”fly/libs/jquery.throttle-debounce”:”1.1″,”fly/libs/jquery.widget”:”1.9.2″,”fly/libs/omniture.s-code”:”1.0″,”fly/utils/jquery-mobile-init”:”1.0″,”fly/libs/jquery.mobile”:”1.3.2″,”fly/libs/backbone”:”1.0.0″,”fly/libs/underscore”:”1.5.1″,”fly/libs/jquery.easing”:”1.3″,”fly/managers/ad”:”2.0″,”fly/managers/components”:”1.0″,”fly/managers/cookie”:”1.0″,”fly/managers/debug”:”1.0″,”fly/managers/geo”:”1.0″,”fly/managers/gpt”:”4.3″,”fly/managers/history”:”2.0″,”fly/managers/madison”:”1.0″,”fly/managers/social-authentication”:”1.0″,”fly/utils/data-prefix”:”1.0″,”fly/utils/data-selector”:”1.0″,”fly/utils/function-natives”:”1.0″,”fly/utils/guid”:”1.0″,”fly/utils/log”:”1.0″,”fly/utils/object-helper”:”1.0″,”fly/utils/string-helper”:”1.0″,”fly/utils/string-vars”:”1.0″,”fly/utils/url-helper”:”1.0″,”libs/jshashtable”:”2.1″,”libs/select2″:”3.5.1″,”libs/jsonp”:”2.4.0″,”libs/jquery/mobile”:”1.4.5″,”libs/modernizr.custom”:”2.6.2″,”libs/velocity”:”1.2.2″,”libs/dataTables”:”1.10.6″,”libs/dataTables.fixedColumns”:”3.0.4″,”libs/dataTables.fixedHeader”:”2.1.2″,”libs/dateformat”:”1.0.3″,”libs/waypoints/infinite”:”3.1.1″,”libs/waypoints/inview”:”3.1.1″,”libs/waypoints/jquery.waypoints”:”3.1.1″,”libs/waypoints/sticky”:”3.1.1″,”libs/jquery/dotdotdot”:”1.6.1″,”libs/jquery/flexslider”:”2.1″,”libs/jquery/lazyload”:”1.9.3″,”libs/jquery/maskedinput”:”1.3.1″,”libs/jquery/marquee”:”1.3.1″,”libs/jquery/numberformatter”:”1.2.3″,”libs/jquery/placeholder”:”0.2.4″,”libs/jquery/scrollbar”:”0.1.6″,”libs/jquery/tablesorter”:”2.0.5″,”libs/jquery/touchswipe”:”1.6.18″,”libs/jquery/ui/jquery.ui.core”:”1.11.4″,”libs/jquery/ui/jquery.ui.draggable”:”1.11.4″,”libs/jquery/ui/jquery.ui.mouse”:”1.11.4″,”libs/jquery/ui/jquery.ui.position”:”1.11.4″,”libs/jquery/ui/jquery.ui.slider”:”1.11.4″,”libs/jquery/ui/jquery.ui.sortable”:”1.11.4″,”libs/jquery/ui/jquery.ui.touch-punch”:”0.2.3″,”libs/jquery/ui/jquery.ui.autocomplete”:”1.11.4″,”libs/jquery/ui/jquery.ui.accordion”:”1.11.4″,”libs/jquery/ui/jquery.ui.tabs”:”1.11.4″,”libs/jquery/ui/jquery.ui.menu”:”1.11.4″,”libs/jquery/ui/jquery.ui.dialog”:”1.11.4″,”libs/jquery/ui/jquery.ui.resizable”:”1.11.4″,”libs/jquery/ui/jquery.ui.button”:”1.11.4″,”libs/jquery/ui/jquery.ui.tooltip”:”1.11.4″,”libs/jquery/ui/jquery.ui.effects”:”1.11.4″,”libs/jquery/ui/jquery.ui.datepicker”:”1.11.4″}},”shim”:{“liveconnection/managers/connection”:{“deps”:[“liveconnection/libs/sockjs-0.3.4″]},”liveconnection/libs/sockjs-0.3.4”:{“exports”:”SockJS”},”libs/setValueFromArray”:{“exports”:”set”},”libs/getValueFromArray”:{“exports”:”get”},”fly/libs/jquery.mobile-1.3.2″:[“version!fly/utils/jquery-mobile-init”],”libs/backbone.marionette”:{“deps”:[“jquery”,”version!fly/libs/underscore”,”version!fly/libs/backbone”],”exports”:”Marionette”},”fly/libs/underscore-1.5.1″:{“exports”:”_”},”fly/libs/backbone-1.0.0″:{“deps”:[“version!fly/libs/underscore”,”jquery”],”exports”:”Backbone”},”libs/jquery/ui/jquery.ui.tabs-1.11.4″:[“jquery”,”version!libs/jquery/ui/jquery.ui.core”,”version!fly/libs/jquery.widget”],”libs/jquery/flexslider-2.1″:[“jquery”],”libs/dataTables.fixedColumns-3.0.4″:[“jquery”,”version!libs/dataTables”],”libs/dataTables.fixedHeader-2.1.2″:[“jquery”,”version!libs/dataTables”],”https://sports.cbsimg.net/js/CBSi/app/VideoPlayer/AdobePass-min.js”:[“https://sports.cbsimg.net/js/CBSi/util/Utils-min.js”]},”map”:{“*”:{“adobe-pass”:”https://sports.cbsimg.net/js/CBSi/app/VideoPlayer/AdobePass-min.js”,”facebook”:”https://connect.facebook.net/en_US/sdk.js”,”facebook-debug”:”https://connect.facebook.net/en_US/all/debug.js”,”google”:”https://apis.google.com/js/plusone.js”,”google-csa”:”https://www.google.com/adsense/search/async-ads.js”,”google-javascript-api”:”https://www.google.com/jsapi”,”google-client-api”:”https://accounts.google.com/gsi/client”,”gpt”:”https://securepubads.g.doubleclick.net/tag/js/gpt.js”,”hlsjs”:”https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.0.7/hls.js”,”recaptcha”:”https://www.google.com/recaptcha/api.js?onload=loadRecaptcha&render=explicit”,”recaptcha_ajax”:”https://www.google.com/recaptcha/api/js/recaptcha_ajax.js”,”supreme-golf”:”https://sgapps-staging.supremegolf.com/search/assets/js/bundle.js”,”taboola”:”https://cdn.taboola.com/libtrc/cbsinteractive-cbssports/loader.js”,”twitter”:”https://platform.twitter.com/widgets.js”,”video-avia”:”https://sports.cbsimg.net/fly/js/avia-js/2.48.0/player/avia.min.js”,”video-avia-ui”:”https://sports.cbsimg.net/fly/js/avia-js/2.48.0/plugins/ui/avia.ui.min.js”,”video-avia-gam”:”https://sports.cbsimg.net/fly/js/avia-js/2.48.0/plugins/gam/avia.gam.min.js”,”video-avia-hls”:”https://sports.cbsimg.net/fly/js/avia-js/2.48.0/plugins/hls/avia.hls.min.js”,”video-avia-playlist”:”https://sports.cbsimg.net/fly/js/avia-js/2.48.0/plugins/playlist/avia.playlist.min.js”,”video-ima3″:”https://imasdk.googleapis.com/js/sdkloader/ima3.js”,”video-ima3-dai”:”https://imasdk.googleapis.com/js/sdkloader/ima3_dai.js”,”video-utils”:”https://sports.cbsimg.net/js/CBSi/util/Utils-min.js”,”video-vast-tracking”:”https://sports.cbsimg.net/fly/js/sb55/vast-js/vtg-vast-client.js”}},”waitSeconds”:300});
