A look at all 24 perfect games in AL/NL history

June 29th, 2023

Even with a surprising run of five perfect games in three seasons from 2010-12 -- including three in '12 alone -- the achievement of retiring all 27 men in order remains one of the rarest of baseball's gems.

There have been just 24 such outings among the hundreds of thousands of AL or NL games played since Rutherford B. Hayes was in the White House, and 21 in the Modern Era (since 1900). In fact, until Domingo Germán's effort on June 28, there hadn't been one in more than 10 years, the longest drought since a 13-year gap ended in 1981.

Of course, there have been many other close calls, from Harvey Haddix to Armando Galarraga. And each time a bid falls short, it reminds us just how difficult a perfecto is -- and how it requires not only brilliant pitching, but also healthy doses of defensive support and good fortune.

Here is a look at the only 24 pitchers who have been perfect from the first batter until the last.

Domingo Germán (Yankees)
June 28, 2023 at A’s

After the perfect game barrage that was 2012, 10 seasons passed without one, although it wasn’t for lack of trying. Germán’s broke an even longer streak for the A’s, who had gone almost 32 years without being no-hit, at the time the longest active streak in baseball. Germán’s was the fourth perfect game in Yankees history, breaking the franchise’s tie with the White Sox for the most in AL/NL history. Watch >

Félix Hernández (Mariners)
Aug. 15, 2012 vs. Rays

All hail the King. Hernández was the third pitcher to throw a perfect game that season. Fittingly, it came in front of his adoring home crowd in Seattle, although there was a modest crowd of 21,889 in attendance to take in a Wednesday afternoon contest against Tampa Bay. The six-time All-Star, who had taken AL Cy Young Award honors two years earlier, piled up 12 strikeouts as he mowed down a team that would go on to win 90 games. Watch >

Matt Cain (Giants)
June 13, 2012 vs. Astros

No-hitters and perfect games tend to have “The Play” -- the one in which the defense steals the pitcher an out on his way to history. This one had a classic: Gregor Blanco’s full-extension diving grab on the right-center-field warning track to rob Jordan Schafer of a hit in the seventh inning. But that shouldn’t subtract from what was a masterful pitching performance, as Cain tied Sandy Koufax’s 47-year-old record for the most strikeouts in a perfect game (14). Watch >

Philip Humber (White Sox)
April 21, 2012 at Mariners

Of all the perfect games, this may have been the most unlikely. While Humber had been the third overall pick in the 2004 Draft by the Mets, at this point he was a 29-year-old journeyman who was nearing the end of a big league career that consisted of 371 innings and a 5.31 ERA. But none of that mattered on this Saturday afternoon in Seattle, as Humber tasted perfection. Watch >

Roy Halladay (Phillies)
May 29, 2010 at Marlins

Humber showed that you don’t have to be an all-time great to throw a perfect game, but “Doc” was exactly that. And 15 days after his 33rd birthday, the lanky right-hander was at the top of his game. Halladay’s 2010 season included MLB-leading totals in wins (21), complete games (nine), shutouts (four), innings (250 2/3) and strikeout-to-walk ratio (7.3). He won his second Cy Young Award, and a little more than four months after his perfecto added a one-walk no-hitter against the Reds in the NLDS. Watch >

Dallas Braden (A’s)
May 9, 2010 vs. Rays

Every perfect game has a story behind it, but it’s hard to beat Braden’s. The left-hander threw his on Mother’s Day, and in attendance was his grandmother, Peggy Lindsey, who raised Braden following her daughter’s death. Add in Braden’s underdog persona -- he was a soft-tosser drafted in the 24th round -- and it was hard not to root for history that day. More >

Mark Buehrle (White Sox)
July 23, 2009 vs. Rays

On April 18, 2007, in the same ballpark, Buehrle had come oh-so-close to perfection, facing the minimum while no-hitting the Rangers but issuing a fifth-inning walk to Sammy Sosa before erasing him on a pickoff. This time, nothing would stop the quick-working lefty -- not even Gabe Kapler’s deep drive to left-center field leading off the ninth inning. Dewayne Wise, who’d just been inserted as a defensive replacement, cemented his name in White Sox lore with perhaps the greatest defensive play ever produced in a perfect game. Buehrle finished the job from there. Watch >

Randy Johnson (D-backs)
May 18, 2004 at Braves

At an age when just about every ballplayer has long since hung ‘em up, Johnson pitched to perfection. It was just one more stupefying achievement in a Cooperstown-bound career full of them. At 40 years and 251 days old, the Big Unit was more than three years older than any other perfecto-throwing pitcher, and he did it in typically dominant fashion (13 strikeouts), despite facing a 96-win team on the road. Watch >

David Cone (Yankees)
July 18, 1999 vs. Expos

It was a hot, wet summer afternoon in the Bronx (gametime temperature: 92 degrees), and the Yankees were celebrating Yogi Berra Day, with the Hall of Fame catcher receiving the ceremonial first pitch from Don Larsen, the man responsible for the only postseason perfecto. So it was an extra-special atmosphere in which Cone made history, while working around an early rain delay. He wasted no time, either, blitzing through 27 outs on just 88 pitches, which is the fewest officially recorded in a perfect game. (Pitch count data is only complete back to 1988). Watch >

David Wells (Yankees)
May 17, 1998 vs. Twins

Between Wells and Cone, this is the only time consecutive perfect games were thrown by the same team. Wells had gotten off to a poor start in 1998 (5.77 ERA through seven starts), but this 11-strikeout perfecto at Yankee Stadium came early in a brilliant finish (2.90 ERA in his final 23 outings). The lefty wound up finishing third in the AL Cy Young race and was named ALCS MVP on his way to a World Series ring. Watch >

Kenny Rogers (Rangers)
July 28, 1994 vs. Angels

Rogers walked a long road to this point. He was a 39th-round Draft pick by the Rangers in 1982, paid his dues in the Minors and worked largely out of the Texas bullpen for four seasons before getting a real shot at a rotation spot in 1993. By ‘94, he was 29 years old. Then, history came calling -- aided by center fielder Rusty Greer’s diving grab in the ninth. Rogers would stick around for 14 more MLB seasons, throwing his last pitch at age 43. Watch >

Dennis Martinez (Expos)
July 28, 1991 at Dodgers

Not only was “El Presidente” 37 years old by this time, but his career had nearly ended years earlier, after his initial success with the Orioles. Martinez battled an alcohol problem that required a trip to rehab and shoulder issues that sapped his effectiveness, as he posted a 5.14 ERA from 1983-86. But Martinez regained his form in Montreal, and the Nicaragua native became the first pitcher born outside the U.S. to throw a perfect game. Watch >

Tom Browning (Reds)
Sept. 16, 1988 vs. Dodgers

Barely more than a month after this, the Dodgers won the World Series, making Browning the only pitcher to be perfect against that year’s champion. The left-hander was only a few months removed from a near-no-hitter, losing one on Tony Gwynn’s one-out single in the ninth on June 6 at San Diego. This time, he finished the job. Watch >

Mike Witt (Angels)
Sept. 30, 1984 at Rangers

On the final day of the 1984 season, the Angels and Rangers were wrapping up campaigns that would not be continuing into October. They did so quickly. Witt and Texas’ Charlie Hough completed their duel in a crisp 1 hour and 49 minutes, with the only run scoring on Reggie Jackson’s RBI fielder’s choice in the seventh. Witt struck out 10 along the way. Watch >

Len Barker (Indians)
May 15, 1981 vs. Blue Jays

More than 40 years later, this somehow still stands as Cleveland’s most recent no-hitter, the longest drought in MLB. Less than 8,000 were in attendance that night at old Cleveland Stadium to witness history, but there was good reason. It was 49 degrees at gametime (and dropping), wet and miserable. That didn’t bother Barker, who rode his stellar curveball to 11 strikeouts. Watch >

Catfish Hunter (A’s)
May 8, 1968 vs. Twins

It’s hard to have a much better all-around game than Hunter, who in this pre-DH era combined his 11-K perfecto with a 3-for-4 performance at the plate that included a double and three RBIs. It was a sign of things to come for the 22-year-old righty, who would go on to make the Hall of Fame. Watch >

Sandy Koufax (Dodgers)
Sept. 9, 1965 vs. Cubs

It doesn’t get much more iconic than Koufax going 27 up and 27 down at Dodger Stadium, while Vin Scully documented history from behind the mic. It doesn’t get much more dominant, either. It would be nearly 50 years before Cain would match Koufax’s records for K’s (14) or Game Score (101) in a perfecto. Cubs starter Bob Hendley was great, too, and this remains the most recent MLB contest in which both pitchers threw complete games with no more than one hit allowed. Watch >

Jim Bunning (Phillies)
June 21, 1964 at Mets

Before Braden threw a Mother’s Day perfecto, Bunning tossed one on Father’s Day, in the first half of a doubleheader at Shea Stadium. Because of the holiday, the Hall of Famer’s wife and eldest daughter got to see him make history in person, completing the first perfect game in modern NL history. Watch >

Don Larsen (Yankees)
Oct. 8, 1956 vs. Dodgers (World Series)

A perfect game obviously is an incredible achievement no matter when it happens. But in the Fall Classic? That’s on a whole other level. Larsen’s performance led the Yankees to a 2-0 victory in Game 5 against the Dodgers, setting up their ultimate triumph in Game 7. All these years later and we’ve never seen another postseason perfecto, leaving Larsen standing alone. Watch >

Charlie Robertson (White Sox)
April 30, 1922 at Tigers

Robertson was a 26-year-old rookie making only his fifth career start, and there wasn’t much to suggest that perfection was in the offing that day at Detroit’s Navin Field. In the righty’s first four games, he’d allowed 33 baserunners in 19 innings. Yet Robertson flummoxed and frustrated a Tigers lineup featuring Hall of Famers Ty Cobb and Harry Heilmann, providing an early example of the fact that even ordinary pitchers can be extraordinary on any given day.

Addie Joss (Cleveland Naps)
Oct. 2, 1908 vs. White Sox

We have now entered the Dead Ball Era. Joss, a Hall of Famer, led the AL and NL with a 1.16 ERA over 325 innings in 1908, and he reportedly needed only 74 pitches to outduel White Sox great Ed Walsh, who struck out 15 but allowed one run. Even better, this came during the waning days of a heated AL pennant race, although Detroit ultimately outlasted both Cleveland and Chicago.

Cy Young (Boston Americans)
May 5, 1904 vs. A’s

At 37 years old, the great Young was still great, leading the AL and NL in shutouts (10), WHIP (0.94) and strikeout-to-walk ratio (6.9). This particular game was a rematch between Young and A’s star Rube Waddell, who had outdueled him 10 days earlier. This time, Young got the upper hand, striking out eight in a 3-0 victory that was 0-0 until the bottom of the sixth.

John Ward (Providence Grays)
June 17, 1880 vs. Buffalo Bisons

This is an official perfect game, although baseball obviously looked quite a bit different back then, including a pitcher’s mound that was only 45 feet from home plate. Ward, who also spent significant time in the infield and outfield in his 17-year career, was pitching for the NL’s Providence Grays, who ceased to exist after 1885.

Lee Richmond (Worcester Ruby Legs)
June 12, 1880 vs. Cleveland Blues

The Worcester Ruby Legs were members of the NL from 1880-82, and in that first year, Richmond pitched in 74 of the team’s 85 games, totalling 590 2/3 innings. (Both of those statements are true). He became the first man to throw an official perfect game in the AL or NL, although the term didn’t even exist yet, beating Ward to the feat by just five days.