WEST SACRAMENTO, Calif. — Miami Marlins right-hander Eury Pérez retired the first 21 batters he faced on 92 pitches — seven perfect innings — before manager McCullough pulled him in his third start back from the injured list, choosing a potential postseason run over a shot at franchise history.

Pérez became the third pitcher since at least 1900 to be pulled from a perfect game of seven innings or more, joining Rich Hill in 2016 and Clayton Kershaw in 2022. Still firing 97.9 mph in a nine-pitch seventh inning, Pérez had never thrown more than 102 pitches in a Major League outing, and McCullough said the decision was non-negotiable.

“Us looking to play beyond the regular season, Eury’s going to be an important part of that,” McCullough said. “He had it really going today, and I totally get it; and there was a part of my heartstrings pulling at his opportunity to keep on going, but I think I have to think about Eury, one, and our organization, our team, and what’s best moving forward to give us a chance to continue to win games.”

Asked whether he considered letting Pérez go batter by batter, McCullough was blunt: “No consideration there. 90 plus a hitter was the number of pitches I was going to feel comfortable with letting him throw today, and that was going to be what was going to guide the decisions I made with him at any part of the game.”

Pérez struck out eight batters, and the A’s managed just four hard-hit balls, none close to being hits. Over his last five starts, Pérez carries a 0.99 ERA. “When I saw [McCullough] approaching, I knew it was going to be like that, and I told him that I understood, and that this was part of the plan, again,” Pérez said via interpreter Luis Dorante Jr. “I took it in a good way.”

The aftermath was less tidy. Right-hander Lake Bachar entered in the eighth and walked leadoff batter Lawrence Butler before allowing a bloop single to Joshua Kuroda-Grauer, ending the perfect game and no-hit bid in quick succession. Jonah Heim’s grand slam shrank Miami’s lead from 8-0 to 8-5. Oakland fans booed the Marlins’ dugout through the remainder of the game. “I did feel bad, because they’re booing the manager, they’re booing my teammate,” Pérez said. “They don’t know the inside that we know, right? That information, which I’m coming from an injury, we had a plan of 90 pitches and all that.”

Kuroda-Grauer acknowledged the crowd’s frustration: “I did. I did hear them. That’s baseball. You see a guy take a perfect game almost into the eighth inning before he got pulled. They wanted to see him do it.”

Right-hander Michael Petersen relieved Bachar and stopped the bleeding, and closer Pete Fairbanks finished out the win despite allowing three more runs. “This is a version of Eury that we’ve seen trending, and today was, certainly, probably, the best combination of everything together, and his ability being behind in some counts to make a pitch and get people off the barrel,” McCullough said.

Miami set a franchise record for most homers in a three-game series with 12 and swept the A’s to finish a three-city trip at 7-3. The Marlins improved to 49-42, a season-high seven games over .500 — a mark the club last reached in September 2023. Heriberto Hernández, who homered twice, pointed to the rotation as the engine. “Those are like the three horses,” Hernández said via Dorante, referring to Pérez, ace Sandy Alcantara — the Majors’ innings leader — and first-time All-Star Max Meyer. “We’ve got to do a good job out there, perform well offensively and defensively every time they’re out there. It just motivates the whole group to be better.”