MLB’s best shortstop a month into the season? Marlins’ Otto Lopez is making a case
Otto Lopez hasn’t just been one of the Miami Marlins’ most consistent hitters throughout the first month of the 2026 season.
He has arguably been one of the top shortstops across all of MLB at the plate in the early going of the season.
Lopez once again came up big for Miami on Monday, with his RBI double down the left-field line in the sixth inning giving the Marlins the lead for good in their 5-3 series-opening win over the St. Louis Cardinals at loanDepot park.
Miami improves to 11-12 on the season, while St. Louis falls to 13-9.
On the season, Lopez is hitting .337 with 10 of his 28 hits going for extra bases — five doubles, two triples and three home runs — while also stealing four bases.
His batting average leads all qualified shortstops in MLB, while his .939 on-base-plus-slugging mark and .554 slugging are second — both trailing only the Washington Nationals’ CJ Abrams. His 18 runs scored are tied with the Cincinnati Reds’ Elly De La Cruz and Los Angeles Angels’ Zach Neto for second at his position, behind only the Chicago Cubs’ Dansby Swanson.
Lopez, who has at least one hit in 19 of 22 games played this season and eight multi-hit games, also entered Monday leading all shortstops with 1.2 wins above replacement, according to FanGraphs.
“We’re seeing the impact,” Marlins manager Clayton McCullough said. “He’s on a good run. There’s less empty at-bats. There’s less early-count chase. There’s been less early-count soft contact. He just looks very hitter-ish right now.”
Lopez said pregame that he has been working with the Marlins’ hitting coaches to improve his approach at the plate. He’s prioritizing squaring up balls more consistently and using his legs move to drive more power into his swing.
It’s working out so far.
While still early, Lopez entered Monday with a 56.1% hard hit rate, defined as how often a batter puts balls in play with an exit velocity of at least 95 mph. His single-season career high prior to this season was 38.9%. His overall average exit velocity is 93 mph, well above his 88.6 mph career average.
And Lopez isn’t sacrificing quality at-bats for more power. Lopez’s 17% strikeout rate entering Monday was about on par with his career average of 15.4% and his 5.7% walk rate is only slightly lower than his 6.7% career average.
“I don’t know if Otto’s was getting more power; Otto’s always had power,” second baseman Xavier Edwards said. “If you watch him hit BP, he hits the ball really hard and really far. He usually kind of hits the ball low, and it seems like he’s hitting the ball higher this year, which is obviously always good when you hit the ball really hard. ... He seems to be getting them off the ground a bit more. That’s paying dividends for him.”
Lopez always believed that he could be a productive every day big-leaguer.
But it wasn’t until the Marlins claimed him off waivers early in the 2024 season that he finally got the opportunity to prove it.
He hit .270 with 30 extra-base hits and 20 stolen bases over 117 games that season and followed with a 2025 season in which he hit .246 with 15 home runs, 15 stolen bases and a team-leading 77 RBI in 143 games while moving defensively from second base to shortstop.
And now his production is hitting another level in his third full season.
“The Marlins give me the chance to prove the work that I’ve been doing [would work],” Lopez said. “I let myself go and play and have fun. The work has been showing. I feel very proud of myself, the work that I’ve been putting in.”
And he came up clutch once again on Monday with his RBI double that scored Kyle Stowers from first base in the sixth inning. Lopez scored two batters later on a Liam Hicks single to push Miami’s lead to 4-2. Lopez also drew a walk in the eighth and scored on another Liam Hicks RBI single to cap Miami’s scoring.
Edwards hit an RBI double and Agustin Ramirez homered earlier in the game to account for Miami’s first two runs.
It backed up arguably the best outing of starting pitcher Max Meyer’s season to this point. Meyer held the Cardinals to two runs on three hits, two walks, two hit batters and a wild pitch over a season-high 5 1/3 innings while striking out eight.
Four relievers — Calvin Faucher, Andrew Nardi, Anthony Bender and Pete Fairbanks — pitched the final 3 2/3 innings, with Fairbanks earning his fourth save of the season.
This story was originally published April 20, 2026 at 9:12 PM.