Our top five teams — the Rays, Braves, Rangers, Orioles and Diamondbacks — have remained dominant, leaving the top of our rankings unchanged. Tampa Bay holds steadfastly to the No. 1 spot while Arizona keeps its advantage over the Dodgers.
Elsewhere in the NL West, the Giants have continued their rise, earning their highest ranking of the season at No. 7. Meanwhile, the Mets keep falling, with their No. 22 spot this week their lowest in recent memory.
With the All-Star break quickly approaching, how will these teams finish off the last week or so of gameplay before the first half of the season comes to an end?
Our expert panel has combined to rank every team in baseball 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 Joon Lee to weigh in with an observation for all 30 teams.
Record: 55-28
Previous ranking: 1
There was some drama in Tampa this week, as the Rays benched American League WAR leader Wander Franco for “not being the best teammate” and the rotation lost ace Shane McClanahan to mid-back tightness. While the Rays got off to an incredibly hot start to the season, their bats have cooled off considerably and their rotation has taken a few hits, going 6-7 over the past few weeks against the Athletics, Padres, Orioles and Royals. As it stands, the Rays are on pace to win nearly 110 games, but not without some bumps along the way, as the Orioles loom nearby in the division. — Lee
Record: 53-27
Previous ranking: 2
Michael Harris II is back to looking like the Rookie of the Year from last season. He had a 5-for-5 game on June 18, went 3-for-3 on Monday and homered on Tuesday to raise his season line to a respectable .266/.318/.432 — after sitting on a .163 average on June 6. Over the last 20 games, he hit .434/.443/.737 with five home runs and six doubles and just six strikeouts. The walk rate is still low so you’d like to see less chasing out of the zone, but the contact rate is high and the quality of contact has been terrific. Also on a tear: Matt Olson, who now leads the National League in home runs and RBIs. From June 15 to June 25, he homered seven times in nine games and drove in 15 runs. — Schoenfield
Record: 49-31
Previous ranking: 3
A series loss in New York over the weekend could have been a playoff preview as the Rangers and Yankees scored a total of 15 runs in the three games — two of which were won by the home team. It was a tight series. The Rangers’ offensive slump leaked into the new week as they struggled at the plate against the pitching-shaky Tigers. Corey Seager and Adolis Garcia both had tough weeks, with batting averages below .200. The good news is the Astros and Angels haven’t gone on a run during the Rangers’ struggles. Texas continues to have a hold on the AL West. — Rogers
Record: 48-31
Previous ranking: 4
Don’t sleep on the Orioles, who continue to look like a really strong group. Anthony Santander has been slugging, and Baltimore called up prospect Jordan Westburg, who made an immediate impact. Credit the Orioles for seeing something in outfielder Aaron Hicks, who needed a change of scenery after a rough couple of years in New York and is finding his stroke at Camden Yards. The future is bright in Baltimore, especially knowing that more talent is on the way. Top prospect Jackson Holliday was named to the Futures Game and looks to be among the best minor leaguers in baseball. — Lee
Record: 48-33
Previous ranking: 5
The D-backs are averaging 5.5 runs per game this month while going 15-10 to hold off the Dodgers and Giants in the NL West, and it’s been Ketel Marte, Christian Walker and Corbin Carroll who have been doing a lot of the heavy lifting lately. Those three have slashed .329/.408/.639 in the month of June, combining for 19 home runs and 11 stolen bases (eight from Carroll alone). Marte, Walker and Carroll are among four regulars — along with Geraldo Perdomo — who have accumulated at least 240 plate appearances and boast an adjusted OPS above 130 (as in: 30% above league average). Not included in that is 37-year-old third baseman Evan Longoria, who has 11 homers and seven doubles in just 40 games. — Gonzalez
Record: 44-35
Previous ranking: 6
The Dodgers are starting to get a little healthier. Max Muncy was activated off the injured list Tuesday and Julio Urias is expected to return from a six-week absence to start on Saturday, a much-needed boost for a rotation that has been shorthanded for quite a while.
In between, Daniel Hudson will return from the torn ACL he suffered in late June 2022. The Dodgers are hoping that Hudson can join forces with Evan Phillips, Brusdar Graterol and Caleb Ferguson to give manager Dave Roberts another trusted option in high-leverage situations, a desperate need for a bullpen that has ranked as one of the worst in the majors this season. Hudson’s performance over these next few weeks — as well as that of Urias and, to a lesser extent, Muncy — could dictate how active the Dodgers become in the trade market next month. — Gonzalez
Record: 45-35
Previous ranking: 9
July is almost here, and the Giants look like a legitimate playoff team. They surged up the standings on the strength of a 10-game winning streak earlier this month, but they also have a 34-19 record since the start of May. The season began with fans lamenting players the Giants didn’t sign over the winter, but so far the team is enjoying underrated contributions throughout their roster.
Logan Webb continues to look like an ace (Wednesday’s rough first inning against the Blue Jays aside), Camilo Doval and the Rogers twins have been a force in the back end of the bullpen and San Francisco’s biggest offensive contributors have come from the likes of Joc Pederson, J.D. Davis, LaMonte Wade Jr. and Patrick Bailey, the 24-year-old catcher who was taken in the first round in 2020. They might not be Aaron Judge or Carlos Correa, but they’ve been plenty. — Gonzalez
Record: 43-37
Previous ranking: 7
The Astros’ offense started to turn the scoreboard more frequently over the last week, though the champs are still chomping at the bit for Yordan Alvarez to get back from his oblique injury. Still, Houston has continued to backslide in the standings as a new leak has sprung loose on the roster: the bullpen. The Astros’ collective 4.86 bullpen ERA during June ranks just 25th in the majors and Houston has converted just six of 12 save chances during that span. The only consistent performer has been Hector Neris, and while closer Ryan Pressly has been solid overall, he has blown two of six save chances. Meanwhile, the relievers beyond those two have posted a ghastly ERA this month. — Doolittle
Record: 44-36
Previous ranking: 8
The Bronx Bombers took a nosedive offensively once Aaron Judge went on the IL, and things aren’t trending in the right direction. At the center of that is third baseman Josh Donaldson, who continues to struggle at the plate and has not found regular playing time over the last week or so due to his struggles. The Yankees would make the playoffs if the season ended today, but the group will need more offense from Donaldson, Anthony Rizzo and Giancarlo Stanton if they want a shot at making their World Series aspirations a reality. — Lee
Record: 44-37
Previous ranking: 12
This season has not gone as expected for Toronto. An extremely talented team finds itself in fourth place in the AL East while ace Alek Manoah is in the lowest rungs of the minor leagues getting shelled, allowing 11 earned runs in 2 ⅔ innings pitched against New York Yankees prospects in the Florida Complex League. And while Vladimir Guerrero Jr. continues to hit well at the plate, he’s currently on pace to hit 23 homers, a far cry from the 48 dingers he hit two seasons ago. Despite the shortcoming, Toronto still finds itself in a prime spot to make the playoffs, currently holding on to the last wild-card slot. — Lee
Record: 47-34
Previous ranking: 11
Jazz Chisholm returned in style on Tuesday in his first game since May 13, going 3-for-4 with a double and three RBIs in the Marlins’ 10-1 win over the Red Sox. That win, along with Wednesday’s, ran their record in June to 18-7 with a plus-43 run differential. In other words, unlike in April when they were winning all those one-run games, the Marlins are now beating up opponents. Yes, they’ve taken advantage of the weak part of the schedule, going a combined 14-2 against the A’s, Royals, Nationals and Pirates in June, but this stretch has put the Marlins in the thick of the wild-card race. Oh, Eury Perez has now also tossed four straight scoreless starts and allowed just one run (a home run) over his past six starts to lower his ERA to 1.34 through nine career outings. — Schoenfield
Record: 44-38
Previous ranking: 10
It’s obvious by now that not only are the Angels not trading Shohei Ohtani this summer — they’re doing everything possible to win around him. Last week, with injuries and underperformances plaguing their infield, the Angels became the first team to delve into the trade market, acquiring Mike Moustakas from the Rockies and Eduardo Escobar from the Mets. Their lineup will look deep again when Anthony Rendon returns from the IL in the near future, especially with Ohtani all but guaranteed to be named Player of the Month for June.
On the mound, it’s hard not to be encouraged by the emergence of Reid Detmers, the 2020 first-round pick who has allowed just three runs in 25⅔ innings over his last four starts and is maintaining his stuff deeper into games. It seems Ohtani and Mike Trout might finally have a deep enough team around them. — Gonzalez
Record: 42-37
Previous ranking: 13
Ranger Suarez should be in the running for NL Pitcher of the Month after tossing 7⅓ innings and allowing one run against the Cubs on Tuesday. His totals for June: 2-0, 1.08 ERA, 33.1 IP, 24 H, 8 BB, 33 SO, 1 HR. Three of his starts came against the Dodgers, Diamondbacks and Braves, meaning he faced the three highest-scoring teams in the NL. Brandon Marsh hit two home runs in support on Tuesday, putting him on a 12-for-20 tear over six games. It was his first home run since May 28; he went a span of 21 games without one. — Schoenfield
Record: 43-38
Previous ranking: 14
Their 12-game winning streak may have come to an end, but the positive vibes in Cincinnati are still rolling — even in losses, the Reds play exciting baseball. After beating the NL leading Braves 11-10 on Friday, Cincinnati dropped consecutive games to them, both by 7-6 scores. The Reds offense has simply been dynamic since the addition of Elly De La Cruz, as their OPS is one of the best in baseball over the last two weeks. De La Cruz had 15 hits over a seven-game span before finally cooling off, going 0-for-9 over two of the Reds’ losses earlier this week. The biggest question for the team next month will revolve around the trade deadline. Will they add pitching? They need to or their dynamic offense will have to carry the day. — Rogers
Record: 42-38
Previous ranking: 17
While Cincinnati and Chicago garnered headlines recently, Milwaukee is still the heavy favorite to win the NL Central. The Brewers’ play hasn’t been outstanding, but it’s been steady, as they have won five of eight series this month. There are some cracks in the pitching foundation, though, with starters Julio Teheran, Freddy Peralta and Corbin Burnes all struggling last week. The Brewers find ways to win but aren’t as scary on the mound or at the plate as they have been in the past. They may be vulnerable, but they can’t be overlooked — not while Craig Counsell is in the dugout. — Rogers
Record: 40-41
Previous ranking: 15
Boston continued its season-long trend of impressing and then falling short, putting together a six-game win streak before dropping a series to the White Sox over the weekend. In a division with little room for error, Boston’s lack of depth has made it difficult to keep up with the rest of the AL East. The Red Sox are currently starting their fourth different shortstop of the season — David Hamilton — while they await Trevor Story’s return. Meanwhile, Chris Sale is out until August, Tanner Houck has no timetable to return from a facial fracture, and James Paxton left his last start with a knee issue. — Lee
Record: 40-42
Previous ranking: 18
All season, we’ve lauded the work of the Twins rotation and lamented the lack of consistent production from the lineup, particularly from star shortstop Carlos Correa. Through it all, the overlooked player who has emerged as perhaps Minnesota’s steadiest position player in 2023 has been utilityman Willi Castro. It’s easy to overlook Castro, whose OPS+ (92) certainly isn’t going to turn any heads. But Castro leads all Twins position players in bWAR thanks to his overall range of contributions. He leads the Twins — by far — in defensive runs saved and is tied for the lead in baserunning runs. He’s done this by making multiple appearances at every position except first base and catcher and, yes, that includes two mop-up appearances on the mound. — Doolittle
Record: 37-43
Previous ranking: 16
The midway point of the season has arrived, and the Padres still can’t get it together. They have a positive run-differential and have been one of the best run-prevention teams in the majors, both because of their defense and because of their pitching. But they remain below .500 and out of the playoff picture largely because their highly touted offense is still lagging behind. On the whole, though, they simply haven’t been able to come together in all facets on a consistent basis. Another example emerged over the weekend, when the Padres routed the rebuilding Nationals in Friday’s opener, then lost back-to-back games against them — at home, no less — to drop the series. Padres shortstop Xander Bogaerts said it best: “C’mon, man – we’re playing the Nationals.” — Gonzalez
Record: 38-41
Previous ranking: 19
Tuesday’s loss to the Nationals in 11 innings summed up all the frustrations of being a Mariners fan in 2023. The Mariners loaded the bases with no outs in the bottom of the 10th against Nationals reliever Jordan Weems, who was having trouble throwing strikes. They had their 3-4-5 hitters up. Ty France popped up to the catcher on a pitch that was out of the strike zone. Teoscar Hernandez struck out on a checked swing on a fastball way off the plate. Cal Raleigh then grounded out to the pitcher on a check swing on a 2-0 pitch that may have been out of the zone. Absolutely terrible at-bats. That’s three straight extra-inning losses, and the Mariners are now 4-8 in extra-inning games — after going 11-5 last season and 14-7 in 2021. — Schoenfield
Record: 37-41
Previous ranking: 21
Chicago is approaching .500 thanks to an evolving offense, but their real strength is on the mound. The return of Kyle Hendricks has lengthened their starting staff while Marcus Stroman continues to pitch like an ace. Meanwhile, lefty Justin Steele is the breakout star of the group and could join Stroman on the All-Star team. The latter pitcher is a lock. Add a solid backend performance this season from Drew Smyly and the Cubs have a foursome that should keep them in the NL Central race in the second half. — Rogers
Record: 39-40
Previous ranking: 22
We’re now two starts into the Gavin Williams era and the early signs are promising, if still inconclusive. At the very least, we can say that Williams has not looked daunted during his first exposure to the majors. He allowed four runs over 5⅔ innings in his debut on June 21, then followed that up with a dominant outing on Tuesday where he went seven one-hit, scoreless innings against Kansas City, though another lackluster Cleveland offensive night meant that he had to settle for a no-decision. The caveat attached to these first two starts is that they came against the Athletics and Royals. Still, Williams looks ready for the greater challenges to come. — Doolittle
Record: 36-44
Previous ranking: 20
Do we have to mention Sunday’s loss? Yes, we do. Leading 6-3 in the eighth, the Mets gave up four runs to the Phillies to lose 7-6 — even though Josh Walker and Jeff Brigham allowed just one hit. But they walked three batters, Brigham hit two with the bases loaded and Brett Baty made a crucial error. It was an embarrassing, Little League-type of defeat.
David Robertson and Adam Ottavino were unavailable. Robertson had pitched the night before — his first appearance in six days — and only threw 13 pitches but did get five outs, so manager Buck Showalter may have been saving him for the ninth, not wanting to use him for more than one inning two days in a row. Ottavino had thrown 26 pitches the night before (while recording just two outs). At least David Peterson returned from the minors and looked good on Tuesday, tossing six scoreless innings against Milwaukee. — Schoenfield
Record: 33-46
Previous ranking: 24
Trading away pending free agents is now becoming a reality for the last-place Cardinals, who just can’t get their season turned around. Any step forward has been followed by a step back, which means Jordan Montgomery should be well sought-after at the deadline — barring a huge run by the team, of course. There’s no reason to think it will happen now as the Cardinals rank in the bottom third in the majors in runs given up per game. Adam Wainwright gave up seven runs on 11 hits in London over the weekend — and couldn’t blame the good hitting conditions overseas. Cubs lefty Justin Steele pitched in the same conditions while giving up just one run on five hits. — Rogers
Record: 37-42
Previous ranking: 23
Pittsburgh finally showed some signs of life early in the week after a long losing streak that saw them drop from first to fourth place in the division. The Pirates rank near last in the majors in ERA and OPS over the past half-month, aiding their fall in the division. The lone bright spot last week was Andrew McCutchen, who was 8-for-18 over a five-game span, raising his OPS to .824. It’s not likely the Pirates will get back into the division race, but the experience gained by their first half combined with McCutchen’s leadership is likely to pay dividends next season. — Rogers
Record: 35-47
Previous ranking: 25
We’ve called attention to Luis Robert Jr. in this space a few times and even alluded to his lack of support in the first phase of the All-Star voting as a miss. While the White Sox continue to recede farther and farther from the .500 line, Robert has responded to his overlooked status by playing even better. Before an 0-for-4 showing against Ohtani and the Angels on Tuesday, Roberts went 8-for-19 with four homers in five games last week on his way to winning AL Player of the Week honors for the first time in his career. Roberts now carries a 139 OPS+ while ranking among the top four outfielders in the game by both defensive runs saved and outs above average. The guy is an All-Star. — Doolittle
Record: 34-45
Previous ranking: 26
The Tigers suffered yet another injury blow to their rotation when lefty Matthew Boyd had to leave his start on Monday early with an elbow problem. The next day, the news dropped that Boyd is headed for Tommy John surgery. His 5.45 ERA isn’t a great representation of his solid work this season, which featured 73 strikeouts in 71 innings. The Tigers did get a measure of good rotation news, however, when Matt Manning was activated from the IL and made his first big league start since April 11. Even better, Manning pitched well, holding the first-place Rangers to two runs over 5⅔ innings in a game the Detroit bullpen later let get out of hand. — Doolittle
Record: 32-48
Previous ranking: 27
Lane Thomas is making a push as the Nationals’ All-Star representative. After going homerless in April, he hit .303/.352/.580 with eight home runs in May and is hitting .330/.359/.639 with six home runs in June. Like Jeimer Candelario, he’s also been a doubles machine and the two are in the top 15 in the majors in extra-base hits. Nobody saw that kind of production coming from those two. Candelario is an obvious trade candidate, but a lot of teams are going to come asking about Thomas. If the Nationals are willing to trade him, his price keeps going up. — Schoenfield
Record: 32-50
Previous ranking: 28
The Rockies, a major league franchise since 1993, have never lost 100 games in a season. And yet they were on pace for exactly that many when the midway point arrived on Tuesday, sitting at 31-50. Given the depth of the NL West, which features four legitimate playoff teams, and the fact that they’ll undoubtedly shed some veteran players next month, the Rockies could come dangerously close to that mark in 2023. But here’s the scary part: There isn’t much they can trade to bolster their future. Ryan McMahon, signed through 2027, is the only player who has been worth more than one fWAR. — Gonzalez
Record: 22-58
Previous ranking: 29
The Royals’ first half is drawing to a close after another lackluster week. There is no way around it: This was the worst opening half of baseball the Royals franchise has ever seen. Through Wednesday, Kansas City stood 22-58, a mark three games worse than any Royals team has featured through 80 games. The previous worse 80-game mark was the 25-55 record put up by the 2018 Royals, matching the 80-game nadir of the Kansas City Athletics, who posted that record in 1965.
In other words, it’s not just the history of the Royals scraping the bottom, but the history of AL baseball in Kansas City. Kansas City features the third-worst 80-game run differential in 55 years of Royals baseball, has already lost an MLB-high 29 games in which it has led, has gone 10-30 at home and, finally, has yet to win more than two games in a row at any point this season. — Doolittle
Record: 21-61
Previous ranking: 30
The Athletics have begun the relocation application, the final step towards moving the team to Las Vegas. Oakland will need 75% of owners to vote in favor of the move to be official. Meanwhile, in London, commissioner Rob Manfred addressed the backlash to his sarcastic comments about A’s fans’ reverse boycott, stating that his comments got taken out of context, which further received pushback when full video of the back and forth was shared on social media. — Lee