ST. LOUIS — In his first two starts, Jordan Yamamoto has done things that have been accomplished once, or not at all, in the past century.

It's been a dream debut for the 23-year-old rookie, who was acquired by the Marlins in the Christian Yelich trade and summoned from Double-A to the majors earlier this month.

Yamamoto dazzled again on Tuesday night, matching his first career start by pitching seven scoreless innings against St. Louis, and Miami beat the Cardinals 6-0.

Yamamoto (2-0) allowed two hits, struck out seven and walked two. He gave up three hits in seven innings in his major league debut, on June 12 in Miami against the Cardinals.

"Definitely, I haven't imagined this," Yamamoto said. "It's one of those things a kid can only dream of and it just worked out perfectly in my favour."

Yamamoto became only the second starting pitcher since 1893 to hold the same team scoreless in his first two outings, joining Atlanta's Larry McWilliams, who did it in 1978 against the Mets.

He's also the first pitcher since Pittsburgh's Nick Maddox in 1907 to beat the Cardinals twice in a seven-day span when the first game was his debut.

"No, I have not heard of him," Yamomoto said. "I'm happy to be in his company."

Relievers Tayron Guerrero and Sergio Romo completed the two-hitter. The Cardinals were shut out for the fifth time this season and second time by Miami.

"Obviously seeing a team twice is a battle (against) an older club like that that's got some experience," Marlins manager Don Mattingly said. "It's good to see him ... do that both times."

Brian Anderson and Starlin Castro homered for the Marlins.

Jack Flaherty (4-4) pitched seven innings, allowing three runs on four hits while striking out eight, and had St. Louis' first hit off Yamamoto, a ground-rule double in the third. It was the first extra-base hit of his career.

His seven innings of tied a career high.

"I loved Jack tonight," St. Louis manager Mike Shildt said. "He was really good. Lots of quality pitches. I thought he was tremendous."

Dexter Fowler singled with two outs in the seventh for the other St. Louis hit. Yamamoto concluded his strong night by striking out Yadier Molina.

"They're a great hitting team," Yamamoto said. "I'm just taking it pitch by pitch."

Flaherty gave credit to his opponent.

"He got guys out and he executed. I'm not trying to take anything away from him," Flaherty said. "He's got two starts against us and he did some things that keep guys off balance. Nothing flashy. Nothing that's going to make you jump out of your seat and go, 'Wow.'

"He was effective. He did a really good job two times in a row against us. Hat's off to him."

Castro broke a scoreless tie leading off the fifth when he homered to left.

After Garrett Cooper led off the seventh with a double, Anderson smacked a slider from Flaherty into the left-field seats. Flaherty has allowed 15 homers in 15 starts this season, including six in his last four starts.

Miami added three runs in the eighth on two doubles, two singles and an error.

HAPPY BIRTHDAY

Hall of Famer Lou Brock attended the game on his 80th birthday. The Cardinals' mascot, Fredbird, presented Brock with a cake in the third inning, and the crowd serenaded him with "Happy Birthday."

GREAT GRAB

Marlins first baseman Cooper made a long run, stretched out and landed on a tarp as he caught a foul pop by Molina to end the second inning.

TRAINER'S ROOM

Marlins: RHP Caleb Smith (left hip inflammation) threw a bullpen Tuesday. "He's just got to go through his progression," Mattingly said. "We're talking about him going out (on rehab assignment) if everything keeps going good."

Cardinals: 3B Jedd Gyorko (lower back strain) remains on the injured list after a setback in his rehab. ... RHP Adam Wainwright (left hamstring strain) likely will come off the IL and start Thursday, Shildt said.

UP NEXT

Marlins: Trevor Richards (3-7, 3.68 ERA) will make his third career start against St. Louis. In his last start, he snapped a streak of four straight outings in which he allowed no more than one run, giving up five runs in a loss to Pittsburgh.

Cardinals: RHP Daniel Ponce de Leon (0-0, 2.00) will be making his first career start against Miami.