Through the end of the 2021 season, 23 perfect games have been pitched in the major leagues. Against the Seattle Mariners on May 5, 2021, Baltimore’s John Means’s bid for a perfect game was thwarted by a “random happenstance event,”1 resulting in the first complete-game no-hitter in the major leagues whose only baserunner reached base on a dropped third strike. Unlike other recent near-perfect games, an error was not committed.2
The cellar-dwelling Baltimore Orioles’ pitching staff was giving up too many runs through the team’s first 30 games, and the offense for the American League East team was not scoring enough, leaving the Orioles two games under .500. Their only shutout so far had come in their first game of the season, while Baltimore had been blanked four times. Seattle, in second place in the AL West, had failed to score in four games was well, but its pitchers had three shutouts. There were only 6,742 fans in attendance to witness history when the Orioles and Mariners met on a getaway day for the final game of a three-game series at Seattle’s T-Mobile Park.
In his two-plus-season career, Means had never pitched more than seven innings in a game.3 On Opening Day (April 2, 2021), against Boston, the left-hander matched that career high, allowing a lone hit (a first inning leadoff single by Enrique Hernandez) and striking out five. He finished that outing by retiring 18 batters in a row, and teammates Tanner Scott and Cesar Valdez combined with Means to shut out the Red Sox, 3-0. Through his first six starts of the 2021 season, Means already had three seven-inning starts and had allowed only seven earned runs in 37 innings pitched, giving him a 1.70 ERA to go with his 3-0 record.
In Means’s seventh start of 2021, on May 5, he faced 27 batters. All were retired. Yet it was NOT a perfect game.
Opposing Means on the mound was Seattle’s Yusei Kikuchi. The Japanese-born southpaw was also in his third season in the majors. Through five starts in 2021, he had a 1-1 record and a 4.40 earned-run average. He had one complete game (a two-hit shutout on August 18, 2019) on his career résumé.
Kikuchi issued a four-pitch walk to Trey Mancini in the first inning but needed only five pitches to retire the other three Baltimore hitters. Means threw 12 pitches, striking out both Mitch Haniger and Ty France before getting Kyle Seager to ground out.
Baltimore’s Maikel Franco singled on the first pitch of the second inning. After Ryan Mountcastle forced Franco at second, Kikuchi struck out Pat Valaika but threw a wild pitch, which allowed Mountcastle to advance to second.
DJ Stewart grounded deep into the hole at shortstop. Mountcastle rounded third and kept going, scoring Baltimore’s first run when J.P. Crawford’s throw home was late. Stewart scampered to second; he scored on Ramón Urias’s line-drive single to left for a 2-0 Baltimore lead. Urias was thrown out trying to take second base, but Means had all the run support he would need.
The Mariners went down in order in the second. After Kikuchi held Baltimore scoreless in the third, the “random happenstance event” that ended Means’s perfect game took place in the bottom of the inning, “before anyone even thought to get superstitious.”4
Dylan Moore lined out to center for the first out, bringing up Sam Haggerty. Means got ahead in the count 1-and-2, then got Haggerty to swing and miss at a curveball.
But the pitch was in the dirt, and the ball skidded between catcher Pedro Severino’s legs and rolled to the backstop. Haggerty took off for first base and was safe.
On the very next pitch, with Crawford in the batter’s box, Severino caught Haggerty trying to steal second.5 Crawford flied to right for the third out.
With Haggerty reaching on the wild pitch, Means’s performance was no longer perfect, but he had faced the minimum nine batters without yielding a hit—at a point in the game too early for anyone to be looking at no-hitters, perfect games, or any other sort of historical significance.
Both Kikuchi and Means retired the side in order in the fourth. After Valaika singled to start the Orioles’ fifth, Kikuchi struck out the next three batters. Then came more of the three-up, three-down turns at bat. With two down in the bottom of the sixth, Crawford hit a flare to center, but Cedric Mullins made a sliding catch to preserve the no-hitter. That was as close as the Mariners came to a hit.
In the top of the seventh, Kikuchi still looked strong, striking out Franco and Mountcastle, but Valaika hit a solo home run to lengthen the Orioles’ lead to 3-0. After Kikuchi retired Stewart on an infield grounder to end the inning, manager Scott Servais told him his day was done.
Means needed 18 pitches to get through the seventh. After Haniger struck out looking, France worked a nine-pitch at-bat before being rung up with another strikeout, and Seager grounded out. The Mariners had sent 21 batters to home plate without a hit, and Means had at least one strikeout in every inning.
The Orioles broke the game open in the top of the eighth on a home run by Mancini, who had returned to action in 2021 after missing the entire 2020 season while being treated for colon cancer. Another lefty, Aaron Fletcher, was now on the mound in relief of Kikuchi, making his first appearance of the season. After Urias grounded out, Mullins and Austin Hays hit back-to-back singles to start a rally. With one strike on him, Mancini drove a pitch deep down the left-field line and into the seats for a three-run home run, his sixth of the year.
When Means took the mound in the bottom half of the inning, his teammates had staked him to a six-run lead. Kyle Lewis led off with what was probably Seattle’s hardest-hit ball of the game, but it ended up being a routine fly out to the warning track in left. Means later told reporters, “If this was Camden Yards, it was gone. I’m glad we’re in Seattle.”6 Means then struck out both Tom Murphy and Evan White.
Throughout the game, Means “continued to chat with teammates in the dugout between innings, keeping his mind off of the no-hitter and bucking baseball superstition.”7 He came to the mound in the bottom of the ninth having thrown 101 pitches.
Means later admitted to having “Jell-O legs”8 but settled down after his first pitch to Moore. It took five more pitches before Moore popped out to third baseman Rio Ruiz, who had entered the game as a defensive replacement. Means then struck out Haggerty swinging for the second out.
History waited for only one more pitch. Crawford swung at the first offering from Means, softly lining the ball to shortstop Urias. Means had just pitched a no-hitter!
Means threw first-pitch strikes to 26 of the 27 Mariners he faced (that’s 96.3 percent9), including to the first 17. He breezed through the Seattle lineup, throwing 113 pitches, 79 for strikes. He struck out 12 hitters. Seven of the nine men in the Mariners’ lineup were strikeout victims (White fanned in all three of his at-bats). As described in the Spokane Spokesman-Review, the wild pitch in the third inning was “a small but costly blemish on an otherwise absolutely dominant performance.”10
The Elias Sports Bureau confirmed that Means was the first pitcher in history “to throw a non-perfect no-hitter with no walks, no hit batters, and no errors.”11
After the game, Means told reporters, “It’s not a big deal. I’m just happy that I got through. Honestly, I’m happy I went [the] complete game. … But you know, to get a good no-hitter—I could care less that it wasn’t a perfect game.”12
Means “would’ve thrown a perfect game today if I didn’t let that breaking ball between my legs,” Severino lamented. “But we still threw a no-hitter and we still celebrated.”13 Orioles skipper Brandon Hyde added, “In our clubhouse after the game it was like we clinched a playoff spot.”14
This was just the sixth no-hit game pitched in the Orioles’ history.15 Reporters were hailing this game as “one of the greatest pitching performances in team history.”16 And it was already the third no-hitter of the young 2021 season. Means joined San Diego’s Joe Musgrove, who no-hit the Texas Rangers in an interleague game on April 9, and the Chicago White Sox Carlos Rodón, who accomplished the rare feat five days later on April 14 against the Cleveland Indians. For the season, a record nine no-no’s were pitched in the majors, breaking the 137-year-old record of eight no-hitters in the same season.17
Means’s achievement marks the first no-hitter for Baltimore since Bob Milacki, Mike Flanagan, Mark Williamson, and Gregg Olson combined to no-hit the Oakland Athletics on July 13, 1991, a span of 30 years. I attended that game, watching the history unfold from my upper reserved seat in the Oakland-Alameda County Coliseum. Additionally, Means was the first Orioles hurler to throw an individual no-hitter since Jim Palmer (August 13, 1969, also against the Athletics). This broke the longest stretch for any team in the majors without an individual no-hit game.18
This article was fact-checked by Laura Peebles and copy-edited by Len Levin.
In addition to the sources mentioned in the Notes, the author consulted Baseball-Reference.com, MLB.com, Retrosheet.org, and SABR.org.
1 Andrea SK, “John Means’ No-Hitter Was One of the Greatest Games Ever Pitched,” found online at camdenchat.com/2021/5/7/22424279/john-means-no-hitter-was-one-of-the-greatest-games-ever-pitched. Accessed December 2021.
2 Other pitchers have recently lost perfect games when an error occurred (either by a teammate or by an umpire). On June 2, 2010, Tigers pitcher Andres Galarraga’s bid for a perfect game was ruined with one out to go when first-base umpire Jim Joyce incorrectly ruled that Indians batter Jason Donald reached first base safely on a groundball. On June 18, 2014, Dodgers pitcher Clayton Kershaw lost his bid for a perfect game against the Rockies on a seventh-inning error by Hanley Ramirez. A year later (October 3, 2015), Nationals pitcher Max Scherzer missed a perfect game against the Mets when Yunel Escobar committed an error in the sixth inning. Scherzer had pitched another no-hitter earlier in the season (June 20 against the Pirates), but a hit batsman with two outs in the ninth inning prevented the perfect game. On August 23, 2017, Logan Forsythe’s ninth-inning error cost Dodgers pitcher Rich Hill a chance at a perfect game. Hill surrendered a leadoff homer in the bottom of the 10th and lost the game to the Pirates, 1-0.
3 Means appeared in one game in 2018 (as an end-of-year call-up) before becoming a regular in the Orioles’ starting rotation in 2019. In 2019 he pitched a high of seven innings in five different games.
4 Andrea SK.
5 For a video of Haggerty’s at-bat and subsequent caught-stealing, see https://www.mlb.com/news/john-means-throws-unique-no-hitter. Accessed January 2022.
6 Nathan Ruiz, “Untouchable,” Baltimore Sun, May 6, 2021: D1.
7 “‘Such a Crazy Feeling’: Orioles’ John Means Throws No-Hitter Against Mariners,” found online at theathletic.com/news/orioles-john-means-throws-no-hitter-against-mariners/6GzOnU3pIcCx/. Accessed December 2022.
9 This is the highest percentage of first-pitch strikes in a complete game since 1988 (the start of the pitch-tracking era. See David Schoenfield, “Baltimore Orioles’ John Means Pitches No-Hitter vs. Seattle Mariners, Misses Perfect Game with Wild Pitch on Strikeout,” found online at www.espn.com/espn/print?id=31395714. Accessed December 2021. Further, Means’ high first-pitch strike rate has been achieved by only one other pitcher who faced at least 25 batters: Minnesota Twins’ Brad Radke threw first-pitch strikes to 27 of 28 batters on June 30, 2004 (and Radke lasted only six innings, as he allowed 11 hits and eight earned runs). See Andrea SK.
10 Ryan Divish (Seattle Times), “Means Mows Down M’s with No-Hitter,” Spokane (Washington) Spokesman-Review, May 6, 2021: B3.
12 Joe Trezza, “27 Up, 27 Down but NOT Perfect? Here’s How,” found online at https://www.mlb.com/news/john-means-throws-unique-no-hitter. Accessed January 2022.
15 The franchise number of no-hitters is 10 if the St. Louis Browns are included.
17 See “No-Hitter,” found online at https://www.baseball-reference.com/bullpen/No-hitter. Accessed January 2022. In 1884, there were eight no-hit games pitched.