Major League Baseball’s pitchers and catchers are reporting for duty at sites across Arizona and Florida as we speak. That can mean only one thing: it’s time to look past this season and focus on next winter’s free-agent class.
It should but will not go without writing that a lot can change over the next nine months. Our advice is to treat this as little more than a snapshot in time. Some of these players are going to re-sign or choose against opting out; others are going to get hurt or underperform and fall off the list. That’s baseball for you. For now, think of this as an amusing way to pass a February morning and you’ll be good.
One other note before we get to the rankings: we’re well aware that the franchise owners are likely to impose a lockout after the collective bargaining agreement expires in December. Based on how teams behaved heading into the last lockout, we’re not certain the encroaching work stoppage will have a meaningful impact on how front offices value and approach these players.
Got it? Good. Let’s get to the reason you clicked.
Skubal has a busy year ahead of him. First, he’ll attempt to win his third consecutive Cy Young Award, a feat not accomplished since Randy Johnson completed his own hardware hat trick in 2002. Then, especially if Skubal succeeds in that pursuit, he’ll try transforming the free-agent market for pitchers. Some pertinent figures worth knowing: the wealthiest pitcher contract in the sport’s history is $325 million (Yoshinobu Yamamoto) and the highest average annual value is $43.3 million (Max Scherzer and Justin Verlander). Skubal will try to clear at least one of those marks.

Bichette just squared away his first foray into the open market, inking a three-year pact worth $126 million with the Mets. Oh, and he has two opt outs. Is he likely to exercise his first escape clause? Who knows. But Alex Bregman serves as a precedent that it could happen. What would it take? Bichette having a great individual year; his value improving by virtue of not having the qualifying offer attached to his name; and owners throwing around major bucks in response to a new CBA. Will that all align in Bichette’s favor? Again, we’ll find out. At this stage, though, you can’t rule it out.

Chisholm has established a new career high in games played in consecutive seasons, helping alleviate previous concerns about his durability. If he can maintain that trend, teams can shift their focus to the other troubling aspect of his game: his swing-and-miss issues. (He ranked in the 7th percentile in contact rate.) Beyond that? Chisholm has a lot working in his favor. He’s a dynamic offensive player who just realized his 30-30 potential. He’s also a capable up-the-middle defender. And, as an added bonus, he won’t celebrate his 29th birthday until this time next year.Â

Peralta has been overshadowed in the past by more famous teammates like Corbin Burnes and Brandon Woodruff, but he’s coming off a career-best season that saw him earn Cy Young Award consideration for the first time. What’s more is that he ranks 12th in pitcher Wins Above Replacement over the last three seasons, sandwiched between lefties Max Fried and Blake Snell. Both Fried and Snell signed free-agent deals last winter with AAV exceeding $27 million. Some front-office types have suggested Peralta could pursue the Dylan Cease deal. It’s now on the Mets to keep him from even reaching the open market.

No player on this list has more riding on the 2026 season than Rogers. He was brilliant in 18 starts last season, but it’s anyone’s guess if he’ll keep up that output heading forward. Remember, this is the same Rogers who found himself demoted to the minors the previous year after being acquired at the trade deadline. The reality is that if Rogers can just pitch to his career averages (110 ERA+, 2.67 strikeout-to-walk ratio), he should be in line for a handsome payday come wintertime.Â

Gausman hasn’t received Cy Young consideration in either of the last two seasons, but he’s continued to serve as an above-average workhorse. This could — and knock on wood that we avoid jinxing him here — represent his sixth consecutive 30-plus start season. All the while, Gausman has managed to keep ERA+ on the sunny side of 100 and his strikeout-to-walk ratio (mostly) above 3.00. He’s going to turn 36 in 11 months’ time, but he should still be in line for a two- or three-year pact.

Hoerner isn’t going to be for everyone, but don’t mistake him for Luis Arraez 2.0 either. Sure, he has well-below-average strength and he’s walked in fewer than 7% of his plate appearances over the last three seasons. Front offices willing to overlook those blemishes will find a highly productive and otherwise well-rounded second baseman. He’s an outstanding contact hitter and defender and he’s a capable thief who has swiped more than 34 bases on average since Opening Day 2023.
8. LHP Jesús Luzardo

Luzardo is a youngish southpaw (he’ll turn 29 in September) with good stuff and a 116 ERA+ dating back to 2022. Why’s he closer to the bottom than the top of this list? Because of his unpredictable availability. Luzardo has alternated between making fewer than 20 and more than 30 starts over the last four seasons, complicating matters for teams who want to sign him to a long-term deal. A mostly healthy campaign this year would cause him to move up the list.

Varsho is an outstanding defensive outfielder coming off a career-best offensive season, albeit only on a rate basis since he missed more than half the season. Whether he’s able to maintain a higher output at the plate over a large sample size is to be seen. For Varsho’s career, he’s been closer to a league-average batter who atones for an aggressive, swing-and-miss-happy approach with pull-side power. Whichever way things go, his defensive capabilities should provide him with a high floor.

As with Rogers, this is an aggressive rank that Bubic will have to earn — with both quality and quantity. He’s thrown 162 innings total at the big-league level over the last three seasons, with nearly three-quarters of those coming in 2025. Bubic was sensational when he was healthy, but he had his campaign end prematurely on account of a strained rotator cuff. Stay tuned.
require.config({“baseUrl”:”https://sportsfly.cbsistatic.com/fly-419/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});
