Greinke (4-2) faced the minimum through seven, allowing just one baserunner -- a third-inning walk to Jordy Mercer, who was wiped out on a steal attempt. Gregory Polanco broke up the no-hitter when he led off the eighth inning with a home run down the right-field line.
"Made a decent pitch to Polanco, but probably too many inside pitches," Greinke said. "He was obviously on the inner part of the plate that last at-bat with the foul home run, and then the home run on the slider."
David Peralta helped keep the no-hitter intact early when he took away a hit from Andrew McCutchen in the first inning with a diving catch in right. According to Statcast™, the play had a 32-percent catch probability, making it a four-star catch. Peralta covered 39 feet in 3.1 seconds.
Pirates starter Gerrit Cole (1-4) threw seven solid innings in the loss. The right-hander allowed a pair of runs on an RBI single by Brandon Drury in the second and an RBI double by Jake Lamb in the third.
"I'd hardly say I was rolling, but he was for sure rolling," Cole said. "It's fun to go out there and compete. When a guy has a special night like that going, it's not always fun to be on the opposite side. But it was a special evening for him."
MOMENTS THAT MATTERED You're out times two:Josh Harrison drew a two-out walk in the ninth against D-backs closer Fernando Rodney. On a 1-1 changeup, Harrison attempted to steal second base. Catcher Jeff Mathis threw from his knees, and narrowly got Harrison. According to Statcast™ Mathis had a 1.95-second pop time, better than the MLB average of 2 seconds, on the play. The Pirates challenged the call, but after a review, the call stood to end the game. After the call, Harrison remained convinced he was safe. D-backs shortstop Chris Owings said the same thing during the review, according to Harrison.
"We haven't done a lot of scoring. [Rodney] also got four wild pitches. He bounces a lot of pitches," Pirates manager Clint Hurdle said. "Josh has a green light. I let him have the green light. … We've got one hit on the night. Try to get in scoring position after he got on base to make something happen. That would be the reason for it."
Foreshadowing: In the eighth, Polanco hit a 1-0 pitch from Greinke down the right-field line. The ball went over the wall, but was just to the right of the foul pole. In right, Peralta, who had waved the ball foul, breathed a sigh of relief, but it would be short-lived, as Polanco homered later in the at-bat.
"I was blowing hard, so I think that worked," Peralta said of the foul ball. "[On the homer,] I didn't blow that hard. I was out of breath." More >
"We go through spurts like this, I feel like, every year. It's not the time -- it's never the time to get frustrated." -- Cole, on the Pirates' lack of offense
SOUND SMART WITH YOUR FRIENDS
The Pirates were one-hit for the first time since Sept. 27, 2015, but they were nearly on the wrong end of their second no-hitter in three days. Dodgers left-hander Julio Urias carried a no-no into the seventh against Pittsburgh on Tuesday night at Dodger Stadium.
UPON FURTHER REVIEW
Mercer drew a walk to lead off the third, and promptly stole second to give the Pirates a runner in scoring position with no outs. However, the D-backs challenged the call, and after a brief review, the call was overturned. Mercer was out, and Greinke struck out the next two Pirates hitters.
WHAT'S NEXT Pirates: Right-hander Tyler Glasnow will start for the Pirates at 9:40 p.m. ET on Friday night at Chase Field. Glasnow has thrown consecutive quality starts, and his 6 1/3-inning outing against the Brewers on Sunday at PNC Park was the longest start of his Major League career.
D-backs:Patrick Corbin looks to rebound from a rough start last time out when he takes the mound against the Pirates at 6:40 p.m. MST on Friday night at Chase Field. Corbin struggled in his last start against the Rockies at Coors Field, when he allowed a season-high eight runs over four innings.