PITTSBURGH — Carlos Martínez pitched eight marvelous innings, Harrison Bader hit an early three-run homer and the St. Louis Cardinals blanked the Pittsburgh Pirates 3-0 on Sunday for a three-game sweep.

St. Louis has won seven straight against the Pirates and is 20-6 versus Pittsburgh since the start of the 2019 season. The sweep was the second in three series for the Cardinals, who have won eight of 10 overall.

Bader’s home run came with one out in the second inning. Paul DeJong walked, Tyler O’Neill singled and, after Andrew Knizner’s fielder’s choice, Bader drilled a 1-1 slider left up in the zone by rookie Wil Crowe (0-1).

It was Bader’s first home run of the season in his third game since returning from a forearm injury.

Martínez (2-4) was effective and efficient, allowing five hits and two walks. He struck out just three, but leaned on his cutter and got 10 groundouts and three double plays.

“This is my best stuff,” Martínez said. “When I want to throw hard, I’ve got the velocity. I’m feeling great.”

Alex Reyes recorded his seventh save.

The Pirates went 0-for-8 with runners on base. No Pittsburgh player had more than one hit, and the Pirates did not get more than one hit in any inning.

Making his second major league start, Crowe dealt with traffic in every inning, partially thanks to four walks and a hit batter. He needed 97 pitches to get through five.

Crowe made the most of his first big league opportunity to hit, sending a single down the third-base line and drawing a walk in two trips to the plate.

Martínez has gone at least five innings in every start this season and he worked into the eighth for the second consecutive appearance, hitting the 100-pitch mark for the first time this year. He retired the last eight batters he faced.

“He’s been able to get quicker outs, been on the ground, getting double plays when there’s a little traffic,” Cardinals manager Mike Shildt said.

Pirates catcher Jacob Stallings was grazed in the face by a 97 mph fastball from Martínez in the fourth inning but stayed in the game.

“It was scary,” Stallings said. “It’s the first time it ever happened to me.”

Stallings said the pitch hit him in the nose, lip and cheek, but he avoided full contact. Martínez apologized to Stallings afterward.

Pirates left-hander Tyler Anderson (2-2, 3.38) opens a three-game series at San Diego tonight, the Pirates’ first trip to the West Coast this season. The teams split a four-game series in Pittsburgh in April.

Copyright 2021 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed without permission.