Miami Heat caught between two eras, and remaining in title hunt might rely on picking a path
The ideal NBA roster construction is something resembling what the Miami Heat currently have: a few All-Stars buttressed by younger, cheaper supporting pieces that can steadily grow into bigger roles as the veterans age out of them. This is a lifecycle that virtually every NBA team aspires toward, and as we’re seeing with the Golden State Warriors, it’s essentially a path to immortality. Get it right and you can churn one contender into another and win championships in that golden intermediate period before the first generation has declined but after the second has ascended.
But it’s a tiny needle to thread. For every Spurs or Warriors dynasty, there are a dozen teams that half-measured themselves out of a trophy. There’s a reason so many teams choose a defined path: the all-in, cash in your chips for stars method or the slow, deliberate rebuild. Miami aimed for that sweet, sweet middle ground. They came five points short of the Finals. A bit more injury luck and they might be preparing for Golden State right now.
They aren’t for reasons that extend beyond health. Pick your poison: a limited half-court offense that ranked 24th in regular-season clutch minutes, a small roster that had no solution for the minutes that Bam Adebayo rested against a stronger frontcourt, a defense so aggressive that it often struggled to avoid fouling. Maybe the Heat would be in the Finals if they were healthy. Maybe they’d have been knocked out a round earlier if the 76ers were. The hypothetical game rarely has winners. The actual game the Heat just played on Sunday turned Miami into a heartbreaking loser. They had a golden opportunity to reach the Finals and came up just short.
The Heat are now squarely focused on next season, when the Bucks and Nets re-enter the fray with decidedly more focused roster constructions. The Bucks have three All-Stars between 27 and 31. Widen that age band a bit and Brooklyn is in the same boat. Boston’s postseason run speaks for itself.
All three are likelier to age gracefully than a Miami team facing issues on both ends of the age spectrum. P.J. Tucker just turned 37, and Kyle Lowry isn’t far behind. Jimmy Butler will turn 33 before opening night. The best version of him looks a decade younger, but he’s played 70 games in a season just twice. He’s missed an average of 20 games per season since leaving Chicago, and Miami is staring down the barrel of four more max-money seasons on Butler’s contract.
That was part of why winning now was so essential. Butler, Lowry and Tucker are probably going to decline next season. They have plenty of youth to make up that lost value, but it’s not going to be cheap for very much longer. Tyler Herro, Gabe Vincent and Max Strus all expire after next season. Bam Adebayo is on a max contract, and Duncan Robinson is locked in for four more seasons despite falling out of the rotation, and lest you believe this problem is exclusive to the youngsters, Tucker has a player option, and after a strong postseason run, could probably opt-out and at the very least command multiple years at his current salary. Throw in Victor Oladipo, who is also headed for free agency, and only Butler, Lowry, Adebayo and Robinson are locked in after next year. This is a franchise that once used the amnesty clause to waive Mike Miller as a two-time defending champion. The Heat do not like paying the luxury tax.
That is a major separator between them and the Warriors. Part of Golden State’s endless runway relies on Joe Lacob’s deep pockets. Golden State is set to pay an estimated $170 million tax bill in addition to its $176 million roster. The Heat are more moderately priced at $135 million, just below the luxury tax as they are most seasons. The Warriors can afford to pay youngsters before their value is established and veterans after it has waned. Can the Heat?
If they can’t, it’s worth wondering how viable the middle ground really is for them. Most of the league would rather have Butler, Lowry and Adebayo than its own top three, but Miami lacks Golden State’s immutable centerpiece in Stephen Curry. A top-five player covers a lot of flaws. Miami’s alternative has been player-development. Their roster rarely has aggressive flaws because they are so good at turning players nobody else wanted into contributors. Odds are, if they let some combination of Herro, Strus and Vincent go, they’ll be able to generate internal replacements. But those replacements only go so far. Players like Strus and Vincent can’t make up for an injured Butler shooting 7 of 32 in Games 4 and 5. Miami’s championship equity relies on Butler being a top-10-or-15 player. The equation changes if he’s a top-25 player. It unbalances entirely once he slips into the 40s and 50s.
The Bulls once feared that Butler’s supermax cost would outpace his on-court value. They traded him to Minnesota to avoid finding out. There’s naturally going to be a shred of temptation for Miami to consider a similar path before age and injuries take the decision out of their hands, but nothing the Heat have ever done suggests they’re going to sacrifice an All-Star willingly. They’ve seen how dark the star-less path can be when they devoted the bulk of their space to Dion Waiters, James Johnson and Kelly Olynyk a few years ago. Butler rescued them from such mediocrity. He very nearly led the Heat to the Finals with 82 combined points in Games 6 and 7. Finding players like him is far harder than finding another Strus or Vincent. The Heat have proven capable of growing such supporting pieces in their Sioux Falls lab. If anything, they’re probably going to try to cash in some of that soon-to-be-expensive youth for further Butler support.
They’ve been linked to Bradley Beal already. Zach LaVine feels gettable as well. A few surprising stars move every year, and with Herro, Strus, Vincent and Robinson’s hefty contract to offer, they can pitch compelling packages. The Heat quietly negotiated loosened protections on a pick they owe Oklahoma City at the deadline as well, making either the 2022 or 2023 first-round pick tradable. Miami has been gearing up for a major trade since February.
Finding one is probably their best chance of keeping pace with the rest of the Eastern Conference’s elite, because playing both sides of the age curve is growing less and less viable by the year. Sooner or later, Butler isn’t going to be the top-15 player he is now, and someone else is going to have to pick up that mantle. As good as Miami is at incubating role players, those are the sorts of players that are simply easier to find externally. The Heat can replace the Herro’s and Vincent’s of the worlds far more easily than they can develop another star.
There’s something frustratingly simplistic about saying that a team’s path to winning is just adding an All-Star, but that’s typically just the reality of the NBA. The Heat acknowledged it a year ago when they built their offseason around landing Lowry. Not everybody gets to be the Warriors. The Heat won their championships much more aggressively. If they’re going to make it back to the mountaintop, it’s probably going to have to be by accepting that their time is here and now.
require.config("baseUrl":"https:\/\/sportsfly.cbsistatic.com\/fly-0253\/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-platform":"https:\/\/apis.google.com\/js\/client:platform.js","google-csa":"https:\/\/www.google.com\/adsense\/search\/async-ads.js","google-javascript-api":"https:\/\/www.google.com\/jsapi","google-client-api":"https:\/\/apis.google.com\/js\/api:client.js","gpt":"https:\/\/securepubads.g.doubleclick.net\/tag\/js\/gpt.js","hlsjs":"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/hls.js\/1.0.7\/hls.js","newsroom":"https:\/\/c2.taboola.com\/nr\/cbsinteractive-cbssports\/newsroom.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:\/\/vidtech.cbsinteractive.com\/avia-js\/1.14.0\/player\/avia.min.js","video-avia-ui":"https:\/\/vidtech.cbsinteractive.com\/avia-js\/1.14.0\/plugins\/ui\/avia.ui.min.js","video-avia-gam":"https:\/\/vidtech.cbsinteractive.com\/avia-js\/1.14.0\/plugins\/gam\/avia.gam.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:\/\/vidtech.cbsinteractive.com\/sb55\/vast-js\/vtg-vast-client.js","waitSeconds":300);