MIAMI -- Zack Greinke is flawless against Miami, especially at Marlins Park. The D-backs right-hander did it all on Thursday afternoon -- both offensively and on the mound -- in a 4-0 victory over the Marlins.Greinke went 2-for-3 with a pair of singles and became the first pitcher since Kevin

MIAMI -- Zack Greinke is flawless against Miami, especially at Marlins Park. The D-backs right-hander did it all on Thursday afternoon -- both offensively and on the mound -- in a 4-0 victory over the Marlins.

Greinke went 2-for-3 with a pair of singles and became the first pitcher since Kevin Foster in 1995 with at least two hits, an RBI, a run and a steal in the same game. He became the first pitcher since Rick Sutcliffe in '87 to do all that while not allowing a run.

"Today was good, all the pitches were working," said Greinke, who improved to 7-0 all-time in 12 career games (10 starts) vs. the Marlins, winning all six starts in Miami.

Greinke went seven scoreless innings, striking out six while scattering seven hits in completing his third straight quality start. He has now won his past four road starts.

Finishing up this 10-game road trip with eight wins, including three of four in Miami, the D-backs concluded a 6-1 season series over the Marlins.

Arizona scored in the first inning in seven of the 10 road games, tallying a total of 13 runs. For the season, the D-backs have totaled 58 first-inning runs -- third best in the Majors behind Colorado (69) and Cleveland (59).

"I think we've been ready to play in the first inning," said D-backs manager Torey Lovullo. "We're applying pressure immediately and just having good at-bats. I know that they prepare before the game; they're ready when they step on the field."

All year long, the D-backs have put pressure on the opposition with early production. Three first-inning hits produced two runs on Thursday. Back-to-back singles by Paul Goldschmidt and Jake Lamb and a walk to David Peralta loaded the bases. Daniel Descalso hit into a fielder's choice, scoring Goldschmidt, and Nick Ahmed delivered a two-out double, plating Lamb for a 2-0 lead.

Greinke manufactured a run in the second, helping his own cause with a single up the middle and his second stolen base of the year and seventh of his career. He is the first pitcher in D-backs history with two-plus stolen bases in a season and the first pitcher since Bob Gibson (1969) with a hit, an RBI and a stolen base in at least two games in a season. But Greinke is most proud of one particular stat.

"I like the 'never been caught stealing,'" he said.

Greinke scored on Goldschmidt's (3-for-5, RBI, run) second consecutive single to make it 3-0.

"We let these guys play instinctual baseball," said Lovullo, who added that he is more guarded with his pitchers' baserunning because he worries about them sliding incorrectly. "But Zack's a different animal. We rely on him to play the game wide open."

The 3-0 lead held up through three innings, but that's not news. The D-backs lead the Majors with a plus-60 run differential over the first three innings.

NOT YOUR AVERAGE ATHLETE

Greinke is not your average pitcher. For that matter, he's not your average athlete. A tennis prodigy at age 8, he turned to baseball, and when he was playing Rookie-level ball, he was a shortstop in addition to a pitcher. Suffice to say, he's a good athlete.

Greinke put that athleticism to good use by pitching, hitting and running the D-backs to victory on Thursday.

After his single in the second, Greinke stunned the Marlins by taking off for second base and sliding safely with his second steal of the season, becoming the first pitcher since 2013 with multiple steals in a season.

"The stolen bag, that's all my fault. It shouldn't happen," said Marlins starter Trevor Richards . "I wasn't thinking he was going to go, and I was focusing on the hitter and just staying in my delivery trying to get the guy at home plate out."

In doing so, Richards also helped break the streak of Miami catcher John Holaday , who had thrown out nine consecutive baserunners attempting to steal -- the longest streak in Marlins history.

"Like most stolen bases, it's not on the catcher, it's on the pitcher," Greinke said. "It was like a risk-reward. He could have picked me off. Just take a guess, and I guessed right this time."

Holaday's caught-stealing streak was the longest in the Majors since Miguel Montero caught nine straight in 2011. The last player with 10-plus was Jose Molina (11) in '08.

"I've seen him do it before," said Marlins manager Don Mattingly of Greinke's baserunning abilities. "He will pick his spots. I threw over the pitch before, and hopefully try to let Trevor know this guy will run. I think sometimes, when you've got a pitcher over there, you think he's not going to go anywhere. But he's a baseball player. I don't say that about a lot of pitchers. But he pays attention."

Mattingly praised Greinke's hitting prowess as well.

"Quite honestly, he can really hit," Mattingly said. "We were talking on the bench. He's probably got a better swing than like 70 percent of the guys in the big leagues, and I'm serious about that, if you look at his mechanics."

Greinke raised his batting average to .300 with the two-hit effort.

"I just placed it good, one right up the middle, the other one right where they weren't standing," Greinke said.

MOMENTS THAT MATTERED

Goldy on a roll: Goldschmidt scored the D-backs' first run in the first inning, then singled home another an inning later as Arizona jumped out to an early lead for Greinke. Goldschmidt has reached base safely in 27 of his past 28 games, including all 10 games of the road trip. He is batting .321 on the road this season.

"It's been a good month for us and me individually, but the real test is if we're going to be able to do it for the rest of the year," Goldschmidt said.

SOUND SMART

Arizona's 47 wins at the halfway point of the season are tied for fourth most in club history. The franchise record is 50 wins (2001, '17).

HE SAID IT

"There's a record every game, you've just got to look hard enough for it."

-- Greinke, on his hitting/pitching/baserunning marks set in Thursday's game

MITEL REPLAY OF THE DAY

The Marlins didn't have many scoring chances off Greinke, and when they did, they didn't capitalize. They had a chance in the second inning, trailing by three at the time. With runners on the corners and one out, Holaday tapped a grounder to third base, and the D-backs converted a 5-4-3 double play. But the play was close at first base, and the Marlins challenged to see if Holaday had indeed beaten the throw. The ruling was the call stands, preventing a run from scoring.

UP NEXT

Patrick Corbin will take the hill as the D-backs open a 10-game homestand vs. the Giants on Friday at 6:40 p.m. MST. Corbin had his devastating slider working in his last outing, and when he's got that going for him, he is tough to beat. He tossed seven shutout innings against the Pirates, allowing just three hits while matching his career high with 12 strikeouts. Andrew Suarez will get the start for San Francisco.