PITTSBURGH -- Nick Kingham waited a long, long time to make it to a major league mound. When he finally got there, the moment was nearly perfect.
Kingham started out better than any pitcher in more than a half-century, taking a perfect game into the seventh inning of his big league debut and leading the Pittsburgh Pirates over the St. Louis Cardinals 5-0 Sunday.
Kingham retired the first 20 batters before Paul DeJong singled down the left-field line with two outs in the seventh.
"That's how you plan it up, not to let anybody on," Kingham said. "It's incredible how it happened. Just kind of starting from the get-go, it went well. ... It's corny, but it took everybody. I'm really fortunate and really happy about it."
The Elias Sports Bureau said no pitcher in the Expansion Era -- since 1961 -- had taken a perfect game bid so far in his debut. Wayne Simpson of the Reds in 1970 and Ken Cloude of the Mariners in 1997 each set down their first 16 batters.
"I was like, `You know what, it was a good run, man. It was fun while it lasted," Kingham said.
Once a top Pirates prospect, Kingham's path to the majors was interrupted by Tommy John surgery. The 26-year-old was 43-41 during nine seasons in the minors before getting called up from Triple-A Indianapolis before the game for a spot start.
Kingham joined Johnny Cueto in 2008 as the only pitchers in the last 100 years to give up one hit, strike out at least nine and walk none in his debut. Cueto started out his career with five perfect innings.
The crowd at PNC Park gave Kingham a big ovation after DeJong's hit. Kingham then retired Marcell Ozuna on a grounder, and the fans stood and cheered while the rookie walked off the field and waved.
Kingham was taken out after seven innings. He fanned nine and threw 98 pitches, 72 for strikes.
More than the numbers, Pirates manager Clint Hurdle was pleased with Kingham's poise.
"It was his next start. Watching him, it was just his next start," Hurdle said. "It had to be more than that. He compartmentalized very well."
Elias Diaz had three hits and drove in two runs as the Pirates won their fifth straight and completed a three-game sweep of the Cardinals.
Luke Weaver (2-2) allowed in 5 1/3 innings. Naturally, he noticed Kingham's performance.
"He's obviously having a good game, so you have to stay with him and put up the zeros just like you normally would," Weaver said. "You just try to put that to the side and let him do what he's doing, and focus on the task at hand. . It was just a well-pitched ballgame from him."
Weaver pitched five scoreless inning before walking the bases loaded with one out in the sixth.
Pittsburgh selected Kingham in the fourth round of the 2010 draft out of Sierra Vista High School in Las Vegas. He underwent Tommy John surgery in May 2015, causing him to miss most of the 2015 and 2016 seasons.
In four starts with Indianapolis this season, Kingham was 2-1 with a 1.59 ERA.
Cardinals: Cardinals manager Mike Matheny said OF Dexter Fowler was not available to play after he fell over a wall along the right-field line in St. Louis' 6-2 loss Saturday. He is expected to return Tuesday, Matheny said.
Pirates: LHP Enny Romero was put on the 10-day disabled list with left shoulder impingement. The Pirates planned to designate him for assignment to make room for Kingham on the 25-man roster. Instead, he was placed on the DL, a move retroactive to Thursday, when it was discovered he injured his pitching shoulder during his most recent outing.
Cardinals: RHP Michael Wacha (4-1, 3.62) will attempt to extend his winning streak to five games when he takes the mound against the Chicago White Sox at Busch Stadium on Tuesday. Wacha has won four straight starts since last losing on March 31, when he allowed four runs on five hits in 4 2/3 innings against the New York Mets.
Pirates: RHP Jameson Taillon (2-2, 4.91) will try to get back on track when he starts against the Washington Nationals at Nationals Park on Monday. Taillon has surrendered a combined 12 runs in 5 1/3 innings over his past two starts.
Weaver has best start in month, D-backs beat Marlins 5-2
— Luke Weaver pitched scoreless ball into the seventh inning for his best outing in nearly a month, which helped the Arizona Diamondbacks snap a six-game losing streak with a 5-2 win over the Miami Marlins on Monday night.
Giants come through in the pinch, beat Rangers 3-1
— Mauricio Dubon broke a seventh-inning tie with a two-out, pinch-hit single, Alex Wood won for the fourth time in five starts and the San Francisco Giants beat the Texas Rangers 3-1 on Monday night.
Belt rips his eighth HR to open scoring
Brandon Belt goes yard to put the Giants out in front of the Rangers.
Asdrubal Cabrera knocks 2-RBI double vs. Marlins
Asdrubal Cabrera rips a double down the first-base line to score two runs in the Diamondbacks' win vs. the Marlins.
Walsh's big night helps Angels rally for 5-4 win over Astros
— Jared Walsh homered and matched a career high with four hits, Justin Upton also connected and the Los Angeles Angels rallied in the sixth inning to beat the Houston Astros 5-4 Monday night.
Mullins somehow turns pop-up into a triple
Cedric Mullins shows off his speed, storming around the bases for a triple after his pop-up falls into shallow left field.