The race for baseball’s best record continues to be incredibly close — with six teams separated by just two games and no team on pace for more than 96 wins. The last time that happened in a full season was 2007.

As MLB’s best clubs — the Dodgers, Yankees, Orioles, Guardians, Phillies and Brewers — fight for the top spot, a number of squads are already looking towards 2025 while the rest of the league is battling for the remaining playoff spots.

With so much change from week to week, it’s impossible to know how these races will play out, but it makes for exciting baseball!

Our expert panel has combined to rank every team based on a combination of what we’ve seen so far and what we already knew going into the 162-game marathon that is a full baseball season. We also asked ESPN MLB experts David Schoenfield, Bradford Doolittle, Jesse Rogers, Alden Gonzalez and Jorge Castillo to weigh in with an observation for all 30 teams.

Week 20 | Second-half preview | Preseason rankings

Record: 76-52
Previous ranking: 1

Mookie Betts made a surprising return to right field upon being activated off the injured list, partly because the Dodgers are a better defensive team with Miguel Rojas or Tommy Edman at shortstop and partly because second base was no longer an option. Gavin Lux’s offensive transformation prompted that. Lux is slashing .356/.421/.663 since the All-Star break. His OPS has jumped 148 points since then, from .562 to .710. And now, with Edman and Max Muncy getting activated earlier this week, the Dodgers’ lineup has some serious length to it again. They’ve followed a sub-.500 July by winning 13 of their first 19 games this month, holding off the hard-charging Padres and D-backs in the National League West. — Gonzalez


Record: 74-53
Previous ranking: 2

Clay Holmes didn’t allow an earned run over his first 20 appearances this season. He was, for seven weeks, the best closer in baseball. Three months later, he might not be a closer at all for much longer. Yankees manager Aaron Boone, previously staunch in his commitment to Holmes as his closer, opened the door for other options this week after the All-Star recorded his major league-leading 10th blown save in Sunday’s loss to the Tigers at the Little League Classic. After a scoreless inning Tuesday, he has a 4.65 ERA in 32 appearances since those first 20 outings. His 2.86 FIP during the stretch suggests luck hasn’t been on his side, but, as a ground ball pitcher, he’s more susceptible to misfortune than most closers. — Castillo


Record: 74-52
Previous ranking: 4

Should the Phillies be concerned about their bullpen? Jose Alvarado continues to struggle, walking four batters in Tuesday’s 3-1 loss to the Braves, and has a 6.87 ERA and .884 OPS allowed since late June. All-Star Jeff Hoffman has been scored on in almost half of his August appearances. Orion Kerkering has allowed a .317 average and .894 OPS over his past 17 appearances. Carlos Estevez is presumably the new closer, but he’s allowed runs in four of his seven August appearances and blown one of three save opportunities. It’s probably just a blip and this could still be as good as any bullpen in the game, but it hasn’t pitched at that level lately. — Schoenfield


Record: 74-54
Previous ranking: 3

Zach Eflin‘s fast start with the Orioles skidded to a halt Tuesday when, in another blow to Baltimore’s rotation, he was placed on the 15-day IL with shoulder soreness. The Orioles acquired him from the Rays and Trevor Rogers from the Marlins at the trade deadline to fortify a starting rotation already depleted by injuries. Eflin then went 4-0 with a 2.13 ERA in four outings before becoming the fifth Orioles starter on the IL, joining John Means, Kyle Bradish, Tyler Wells and Grayson Rodriguez. Manager Brandon Hydge said the team expects Eflin back in September, but any setback at this point in the calendar is alarming. — Castillo


Record: 73-53
Previous ranking: 7

Forget about just the NL Central. The Brewers have a first-round bye on their minds as they continue to impress despite the loss of Christian Yelich and a rotation void of stars outside of Freddy Peralta. The pitching staff had a heck of a run last week, giving up just 12 runs over the course of a five-game winning streak — against the Dodgers and Guardians, no less. The Brewers’ weekend sweep of first-place Cleveland was especially impressive as their pitching gave up just four runs in three games. Colin Rea‘s seven shutout innings in Sunday’s 2-0 win was a thing of beauty. He gave up just two hits without issuing a walk, helping to pull the Brewers within a fraction of the top spot in the NL. It’s been the Jackson Chourio show in Milwaukee. He has a .900 OPS since Yelich went down. — Rogers


Record: 73-53
Previous ranking: 5

It’s been a series of streaks of late: that seven-game losing skid followed by a five-game winning streak followed by a three-game sweep to the Brewers over the weekend, in which the Guardians scored just four runs in the three games. They responded with a big 12-inning win over the Yankees on Tuesday, exploding for six runs in the 12th after Emmanuel Clase and Tim Herrin kept the game going. With Clase lowering his ERA to 0.61, talk about him as a Cy Young candidate has emerged, but he remains a long shot. Eric Gagne was the last reliever to win, back in 2003. Plus, you have Tarik Skubal, who might win the pitching Triple Crown (wins, ERA, strikeouts). — Schoenfield


Record: 72-56
Previous ranking: 8

Perhaps nobody embodies the spirit of this year’s Padres better than Jurickson Profar, who was signed off the proverbial scrap heap for a mere $1 million, made his first All-Star team and is currently having the season of his life, slashing .290/.387/.474 with 20 home runs and 76 RBIs in 126 games. In Tuesday’s eighth inning, with the Padres trailing by two, he squared to bunt, pulled back, then delivered the three-run homer that put his team ahead for good. It was the Padres’ 32nd come-from-behind victory and their 22nd win in a span of 27 games. Unlikely contributions have made this a more complete Padres team than last year’s group — and Profar is the face of that. — Gonzalez


Record: 72-56
Previous ranking: 6

The D-backs are currently without three key hitters in Gabriel Moreno, Christian Walker and Ketel Marte, and yet they boast a major league-best .853 OPS since the All-Star break. One of the biggest reasons is Jake McCarthy, the 27-year-old outfielder who is slashing .356/.400/.604 during that same stretch. In a year when Corbin Carroll has struggled, Alek Thomas has been limited to 37 games and a wave of injuries have popped up of late, McCarthy — a victim of the proverbial sophomore slump in 2023 — has been one of the Diamondbacks’ most important contributors. He’s a big reason why they’ve won 23 of their past 31 games and look primed for a return to the postseason. — Gonzalez


Record: 68-58
Previous ranking: 10

The Astros’ recent blistering pace has been led by the usual suspects, but the hottest of them all has been catcher Yainer Diaz. Diaz beat the Red Sox with his first game-ending homer on Monday, the second of three straight games in which he went deep. Since the All-Star break, Diaz has hit .358/.388/.617 with eight homers and 22 RBIs over 30 games. That’s quite a leap from a player whose pre-break OPS was .717 and more than justifies manager Joe Espada’s use of him, which has been to deploy Diaz at DH or, on occasion, first base on days he’s not behind the plate. — Doolittle


Record: 71-56
Previous ranking: 11

The resilient Royals are fresh off one of their most explosive weeks of the season. The spree featured a five-game winning streak during which they outscored the Twins, Reds and Angels by a combined 37-7. Leading the offensive charge of late has been first baseman Vinnie Pasquantino, who drove in 28 runs over a 19-game span beginning July 30 behind an OPS of .957. Pasquantino ranks third in the majors in RBIs (95) despite modest figures of 18 homers and a .773 OPS. His average with runners in scoring position (.377) explains this and ranks second in baseball among qualified players. Of interest: The top player in this measure is superstar Bobby Witt Jr. (.400) and third, just behind Pasquantino, is franchise stalwart Salvador Perez (.364). — Doolittle


Record: 71-56
Previous ranking: 9

The Twins remaining in the AL Central title hunt is a testament to their talent because their injury luck this season is astonishing. Once again, Byron Buxton and Carlos Correa are on the IL. And once again, Minnesota is staying afloat in possession of a wild-card berth. Buxton was one of the hottest hitters in baseball in the two months before landing on the IL for the second time this season on Aug. 15 with right hip inflammation. The dynamic outfielder slashed .329/.391/.707 with 12 home runs in 41 games before the injury. The good news for the Twins is he could return as soon as Friday. The bad news is Correa, one of the team’s two All-Stars, still doesn’t have a timetable for his return after the shortstop went on the IL for the second time this season on July 20 with plantar fasciitis. — Castillo


Record: 67-59
Previous ranking: 14

Triston Casas returned to Boston’s lineup Friday after missing nearly four months with a rib injury — and he didn’t waste any time making an impact. The first baseman is 8-for-23 with four walks in six games. He delivered a two-run home run in Tuesday’s 6-5 win over the Astros that included a four-hit effort from All-Star Jarren Duran. Dom Smith, who became expendable with Casas’s reinstatement, was a serviceable fill-in at first base, but Casas is a potential game changer. A healthy Casas gives the Red Sox another elite power source alongside Rafael Devers. It’s the kind of jolt that could make the difference down the stretch as they try to chase down the Royals for the final AL wild-card spot. — Castillo


Record: 67-59
Previous ranking: 13

Austin Riley suffered a fractured hand after getting hit by a pitch on Sunday, an injury that could sideline him the rest of the regular season. The offense has been hitting well in August, with its highest OPS of any month of 2024, although that includes three games of 11, 11 and 13 runs (the Braves have also been shut out three times in August, so the inconsistency remains). Gio Urshela, just released by the Tigers, was signed to fill in for Riley. He was hitting .243/.286/.333 for the Tigers, so he’s not going to help much. The pitching will have to carry Atlanta to the postseason. — Schoenfield


Record: 66-61
Previous ranking: 15

Back when Francisco Lindor hit .197 in April, it was hard to envision him joining the MVP discussion, but he’s moved comfortably into a top-five position in the NL with 5.4 WAR, trailing only Shohei Ohtani, Ketel Marte (who is on the IL) and Matt Chapman in bWAR. With a big stretch run, Lindor could challenge his career high WAR of 7.2, set with Cleveland in 2018, and surpass his career-best fifth-place finish in MVP voting (in 2017). Lindor is already eighth among shortstops in career WAR through his age-30 season. Six of the seven ahead of him are Hall of Famers (and Alex Rodriguez is the eighth). — Schoenfield


Record: 64-64
Previous ranking: 12

Another skid has the Mariners staring at the reality that a sub-.500 record has become a more likely outcome for their 2024 season than a postseason appearance. As has been the case all season, the culprit continues to be an offense that wallowed in ineptitude all year and has not really improved much despite Seattle’s work at the trade deadline. Say what you will about batting average, but this can’t be good: Seattle’s team mark dipped to .216, which, if the season ended today, would be tied for the fifth worst of the modern era. The lowest of the low was .211 by the 1910 White Sox. — Doolittle


Record: 65-64
Previous ranking: 16

Before Wednesday’s ninth-inning blowup against the lowly White Sox, only two teams held a better bullpen ERA than the Giants this month — the Rays and Astros. And though some of the periphery stats are not quite as favorable, it’s nonetheless impressive for a unit that is without its most talented arm in Camilo Doval. Doval, an All-Star closer who led the NL with 39 saves last season, was optioned to the minor leagues on Aug. 9 with his ERA at 4.70. He is expected to rejoin the team on its upcoming road trip, though his role is still to be determined. If he can recapture his dominance, perhaps he can help the Giants remain in contention down the stretch. — Gonzalez


Record: 64-62
Previous ranking: 20

Christopher Morel, who was part of the haul from the Cubs for Isaac Paredes, was the flashier deadline acquisition, but Dylan Carlson has been a revelation thus far in Tampa Bay. It’s very early — just 15 games — but the switch-hitting outfielder is slashing .267/.353/.489 with three home runs in 51 plate appearances. That’s after he batted .198 with a .515 OPS and zero (0!) home runs in 138 plate appearances for St. Louis this season. Carlson, once a consensus top-30 prospect across baseball, is under contract through 2026. The Rays got him for reliever Shawn Armstrong, a free agent this winter. It could prove to be just a nice first month — or another shrewd long-term move for an organization that has thrived off them. — Castillo


Record: 62-64
Previous ranking: 17

Playoff hopes are beginning to fade in St. Louis, as the Cardinals went 12-18 over a 30-game stretch ending on Tuesday. (While they did lose that night, as well, Wednesday’s walk-off extra-innings win was a needed jolt of energy). Over that time frame, their offense was bottom third in several categories, including home runs and stolen bases. In fact, St. Louis swiped just six bases in 26 games. The result of it all was just 93 runs scored, fifth least in MLB over that month. It helped drop the Cardinals under .500 and far off the wild-card race. Add the third toughest remaining schedule of any team down the stretch and a second consecutive year missing the playoffs might just be in the cards for this storied franchise. — Rogers


Record: 62-65
Previous ranking: 19

The move to designate closer Hector Neris for assignment before his option turns into a player one saves the Cubs $9 million for next season. How will they spend it? It probably won’t be on the bullpen, which has righted the ship after a tough start to the year. For better or worse, the Cubs believe in developing relievers, including closers. That hasn’t always worked out for them. Either way, they need to find a superstar on offense. If Vladimir Guerrero Jr. is on the market this winter, Chicago should pounce and be willing to pay him the going rate for players who can produce a .900-plus OPS. — Rogers


Record: 62-65
Previous ranking: 18

Questions abound for the Reds as they head down the stretch of a disappointing season. Do they run it all back again next year, hoping for better health? Is manager David Bell on the hot seat? Where do the fixes come from if not from within? Their problems have mostly come at the plate, where they’re league average in scoring. The heart of their order — outside of Elly De La Cruz — simply hasn’t performed up to expectations, but it’s still a young team that could take that proverbial next step one year later than expected. It’s not unheard of. The Reds have a very promising starting staff, anchored by Hunter Greene. He just went on the IL as did Jeimer Candelario. It’s been that kind of year in Cincinnati. — Rogers


Record: 62-65
Previous ranking: 23

Javier Baez was welcomed with a personalized nameplate atop his locker when he returned to Wrigley Field earlier this week, his first stop there since being traded in the summer of 2021. A standing ovation greeted him later when he came to bat. Baez’s numbers have fallen off dramatically in recent years, but he is still clearly adored in Chicago. When the Cubs series concludes, the plan is for Baez to take a step back from his role as the Tigers’ everyday shortstop. Tigers manager A.J. Hinch said the team wants to see what it has in its younger players down the stretch — particularly Trey Sweeney, who came over from the Dodgers in the Jack Flaherty trade. Complicating matters, of course, is the fact that Baez is still signed through 2027. — Gonzalez


Record: 59-69
Previous ranking: 21

The Rangers may get a glimpse at Jacob deGrom in a big league uniform before the end of the season, though the dream scenario of the ace righty joining a late-season push is not going to come to pass. Still, it might be reassuring for the club, not to mention its fans, to see the two-time Cy Young winner in action as everyone in Arlington starts to look forward to 2025. DeGrom is slated to make his first rehab outing on Thursday for Double-A Frisco. Ironically, Max Scherzer (shoulder) is reportedly scheduled to follow deGrom with a rehab outing for Frisco on Friday. That would mean the RoughRiders will have gotten a look at a one-two deGrom-Scherzer rotation before the Rangers, as Scherzer joined Texas last year after deGrom had already hit the IL. — Doolittle


Record: 59-68
Previous ranking: 24

Remember when Toronto tried convincing Shohei Ohtani to sign north of the border? That seems like forever ago, but Chris Bassitt hasn’t forgotten. The veteran starting pitcher shared on “The Chris Rose Rotation” podcast this week that he believes the front office’s inability to “pivot” to sign another “elite player” in free agency once Ohtani chose the Dodgers is a significant reason for the Blue Jays’ struggles this season. He lamented the lack of lineup protection for Vladimir Guerrero Jr — the Blue Jays’ only All-Star this season — while pointing to contenders featuring “three or four” stars. He later clarified that his candid comments weren’t “a knock” on the Blue Jays. He also wasn’t necessarily wrong. — Castillo


Record: 59-67
Previous ranking: 22

A recent 10-game losing streak sunk any chance the Pirates had of stealing a wild-card berth, or perhaps even just finishing out of the cellar in the NL Central. Getting swept twice by the Padres in the span of eight days hurt as much as anything. The Pirates didn’t particularly pitch or hit well, alternating between giving up too many runs — when they themselves scored enough to win — in some games and not scoring enough in the lower-scoring losses. Five of the 10 defeats were by a single run, adding heartbreak to their worst stretch of the season. Pittsburgh says it has no plans to shut Paul Skenes down, but that could change the further from the race the team lands. — Rogers


Record: 57-70
Previous ranking: 25

James Wood continues to impress in his first month-plus in the majors — and he finally pulled a fly ball, hitting a 417-foot home run off the Phillies’ Jeff Hoffman into right-center off a fastball. The one double he pulled was a soft line drive into right-center field, so his inability so far to pull the ball in the air is certainly … interesting. In general, he’s still learning to lift the ball (average launch angle of just three degrees), which will hopefully come with experience so he can tap into his raw power. He has above-average bat speed and excellent plate discipline, so the tools are clearly there, but he’ll have to learn to pull the ball to become an elite slugger. — Schoenfield


Record: 54-73
Previous ranking: 26

Oakland’s post-trade deadline rotation has featured a couple of better-than-average Joes lately. Rookies Joe Boyle and Joey Estes have both posted sterling outings for a club whose run prevention has improved markedly during the second half of the season. Boyle tossed six shutout innings against the Rays on Monday, the best outing of his fledgling career. Boyle’s four-seamer averaged 98.9 mph in that contest and touched 100.7. Meanwhile, Estes followed Boyle against Tampa Bay the next night and threw 7⅔ innings, allowing only a solo homer to Jose Siri that proved to be the game’s only run. — Doolittle


Record: 54-73
Previous ranking: 27

The Angels own a lone World Series title during their 64 seasons but the franchise has rarely bottomed out. The franchise record for losses is a not-so-horrible 95, set in 1968 and tied in 1980. It is the only active franchise without a 100-loss season and it really hasn’t come that close. That shouldn’t change in 2024 but … you never know. With the Angels remaining steadily cold over the second half of the season, a late collapse could put the franchise into uncharted (and unwanted) territory. It really would have to be a collapse: The Angels only need to go 9-27 to avoid 100 losses. However, they also need to go 14-22 to avoid at least matching the club record for defeats, which would be set with a doable 12-24 finish. It’s been a long season. — Doolittle


Record: 47-80
Previous ranking: 29

It was a mere 13 months ago that Elias Diaz was named MVP of the All-Star Game. Last week, the Rockies placed their catcher on outright waivers, ridding themselves of him in his lead-up to free agency. Diaz was recently seen as one of few bright spots for the Rockies. But he’s 33 years old and his power numbers are way down this season. Having slipped through waivers, Diaz is now a free agent. A team like the Giants, who recently lost Patrick Bailey to an oblique injury, could make sense for him. With Diaz out, the Rockies will spend these next few weeks seeing what they have in Drew Romo, the 35th overall pick out of high school in 2020. — Gonzalez


Record: 46-81
Previous ranking: 28

The Marlins’ rotation is on pace for its fourth month with an ERA over 5.00 — only in May (4.30) did it get under that mark. Not surprisingly, Miami ranks last in the majors in FanGraphs rotation WAR (after ranking ninth in 2023). Not only that but this also has a chance to be the worst Marlins rotation in franchise history. This year’s group sits at 2.4 fWAR, just below the 2.8 from the 1998 team, which dealt most of its notable players and lost 108 games a year after winning the World Series. Obviously, injuries are the main reason for the 2024 disaster, but it would also be nice to get some results from Edward Cabrera and Max Meyer down the stretch. — Schoenfield


Record: 31-97
Previous ranking: 30

The record pace is alive! Chicago is trending toward breaking the all-time record for losses in a 162-game season, but an upcoming 10-game homestand might be the tonic it needs. Having said that, the Tigers, Rangers and Mets aren’t exactly pushovers despite the first two teams being under .500. No one is a pushover when it comes to the White Sox, who are 3-8 under interim manager Grady Sizemore. September is a brutal month for them schedule-wise, so if they don’t pick up a bunch wins in those 10 games, the White Sox could be staring at history — and not the good kind. — Rogers