PITTSBURGH -- Once again, the Arizona Diamondbacks found a victory to be worth the wait.
Eaton's career-high fourth hit came during his seventh at-bat, giving Arizona its club-record 13th win in extra innings this season.
"As long as you want to go, we'll go with you and stay in a dogfight," Eaton said. "We'll play as long as we need to play."
The Diamondbacks needed seven pitchers Sunday over 4 hours, 39 minutes, in improving to 13-5 in extra-inning games. Arizona's victory was its 27th in its final at-bat, by far the most in the majors. It also was the Diamondbacks' 36th comeback win -- second-most in the majors -- and ninth in as many games when playing beyond nine innings on a so-called "travel day."
"It can be frustrating when you get into extra innings and don't come through, but all you can do is keep battling and our guys do that," Arizona manager Kirk Gibson said.
With A.J. Pollock and Didi Gregorius on base and two outs in the 16th, Eaton fought off a 1-0 pitch from Kris Johnson and dunked the ball into shallow left-center. A sprinting Andrew McCutchen failed in his attempt at a diving catch.
"That ball wasn't exactly crushed," Eaton said. "He threw a slider and I tried to stay through it, and good things happen when you put the ball in play."
Arizona remained five games behind Cincinnati in the race for the second NL wild-card spot. Pittsburgh's lead in the NL Central dwindled to one game over St. Louis.
The Pirates dropped two of three to Arizona, losing their third consecutive series.
"We're playing good baseball; we're just in a stretch here," Pittsburgh second baseman Neil Walker said. "We need to keep grinding it out and keep playing hard. We've played a lot of innings, so it's taxing us a little bit."
Pittsburgh lost its third extra-inning game in six days. The Pirates have played 69 innings during that span -- the equivalent of almost eight games. The resulting weary bullpen was why they summoned Johnson from Triple-A Indianapolis in a move that was announced less than hour before game time.
Johnson (0-1) threw 82 pitches in six innings. He had five strikeouts and allowed five hits and two walks.
"It's satisfying -- I just wish I could have done a little more," Johnson said.
Johnson is a 28-year-old minor league veteran of 189 games. He was 10-4 with two saves and a 2.41 ERA in 25 games (20 starts) with Indianapolis this season.
"Just a fantastic effort for your major league debut," Pirates manager Clint Hurdle said. "We couldn't ask him to do any more than he did other than to find a way to win that game."
The Diamondbacks (64-58) play their next four games in Cincinnati against the Reds, who are 2 1/2 games back of the Pirates in the division race.
Six Arizona relievers combined to pitch eight scoreless innings. Brad Ziegler (7-1) had two strikeouts while pitching perfect 14th and 15th innings, and J.J. Putz worked around two walks -- one intentional -- in the 16th to earn his sixth save. Johnson struck out swinging to end the game.
After Hill's bases-loaded single scored Eaton in the sixth, the Diamondbacks had the bases loaded and no outs with an opportunity take the lead. They tied it at 2 when Gerardo Parra grounded into a double play.
Pirates starter Charlie Morton allowed two runs on seven hits and three walks with six strikeouts.
Tony Watson allowed a single during each of his two innings, but struck out the side in the ninth. Mark Melancon worked a scoreless 10th and has allowed an earned run during just one of his past 26 outings.
Miley, who has a 2.04 ERA over his past nine starts, limited baserunners. Together with Arizona's relievers, they combined to throw 13 consecutive shutout innings until the offense was able to break through.
"We're always confident because we know somebody is going to get the job done," Pollock said. "We have a lot of good guys on this team and you know someone is going to come through."
OF Andrew Lambo was optioned to Triple-A and C Michael McKenry was transferred to the 60-day disabled list to make room on the Pirates' roster for Johnson. ... Starling Marte went 2 for 4 against Miley and has reached safely in 12 of his past 19 plate appearances against left-handers. ... The Pirates were set to leave after the game for the West Coast, where they will play seven games in seven days. In NL games played in California over the past two seasons, the Pirates are 1-11. ... RHP Randall Delgado (4-3, 3.53 ERA) starts for Arizona on Monday night against the Reds RHP Bronson Arroyo (11-9, 3.35).