Indians pitcher Corey Kluber had a no-hitter broken up by the Cardinals with two outs in the seventh inning. (Ken Blaze/USA Today Sports)

Corey Kluber was working on a no-hitter. He settled for one of the greatest pitching performances in American League history.

The Indians starter struck out 18 batters, while giving up just one hit and no walks, in eight innings Wednesday, before Cody Allen pitched the ninth to get the save in a 2-0 win over the Cardinals. Kluber tied the team record for strikeouts in a nine-inning game, one set by Bob Feller in 1938. Luis Tiant struck out 19 for Cleveland in 10 innings, during a 1968 game against Minnesota.

As it was, Kluber tied Randy Johnson’s 1992 major-league record for most strikeouts in eight innings. If he had pitched the ninth (he was pulled after 113 pitches), the “Klubot” would have had a shot at the record for most strikeouts in a game, shared at 20 by Roger Clemens and Kerry Wood.

Kluber also became just the fifth pitcher ever with as many as 18 strikeouts and zero walks in a start. He had a no-hitter going until there were two outs in the seventh inning, at which point St. Louis shortstop Jhonny Peralta hit a ground-ball single.

The 29-year-old Kluber is in just his third full MLB season, but he won the AL Cy Young award last year, after going 18-9 with a 2.44 ERA and 269 strikeouts in 34 starts. However, he had been off to a miserable start this season; before Wednesday, Kluber was 0-5 with a 5.04 ERA.