The teams combined to use 20 pitchers in a contest that ended at 2:12 a.m. and took 7 hours, 6 minutes - setting a mark for length of game for both teams. It was the longest game by time since the Dodgers and Astros played eight minutes longer on June 3, 1989.
The 18 innings also matched the longest game in Diamondbacks history in terms of innings, though the Phillies fell short of the 21-inning club record set in 1918. The teams combined for 137 at-bats, 35 hits, 32 strikeouts and 28 walks. Both teams used 22 of their available 25 players, with only three starting pitchers for each going unused.
The Phillies began the 18th with outfielder Casper Wells (0-1) on the mound. After retiring the first two batters, Wells walked Tony Campana to start Arizona's five-run inning. With Campana running, Eaton lined a double to left-center to put Arizona in front 8-7.
After Wells intentionally walked Paul Goldschmidt, Martin Prado drove in Eaton with a single to right to give the Diamondbacks a two-run advantage. Gerardo Parra broke the game open with a two-run single that spelled the end for Wells, who was replaced by another position player, infielder John McDonald.
The Phillies couldn't score in the bottom of the frame off Trevor Cahill (5-10), who pitched four scoreless innings of relief.
The series finale will be played Sunday less than 12 hours after Darin Ruf lined out for the final out.
Roy Halladay will be making his first start since May 5 due to shoulder surgery on Sunday. Halladay was scheduled to make a minor-league rehab start Sunday, but will fill in for Tyler Cloyd, who was scheduled to start but was used as a reliever for five innings Saturday.
Prado homered and drove in three runs for the Diamondbacks, who snapped a three-game losing streak. Parra went 5-for-9 with three RBIs and Easton had four hits and drove in two runs.
Roger Bernadina, Ruf and Carlos Ruiz homered for Philadelphia, which was vying for its fourth straight victory in walkoff fashion.
The Phillies had several chances to do it in the extra innings.
Tyler Cloyd, who pitched five scoreless innings of relief, led off the 16th with a double, just his second career hit in 23 at-bats. But the Phillies couldn't advance him. In the 14th, Ruf doubled with one out and went to third on a fielder's choice, but Michael Young grounded out with a chance to win it. In the 13th, Cloyd grounded out to strand the bases loaded.
Arizona also had its chances after regulation.
The Diamondbacks loaded the bases with two outs in the 12th, but Prado popped out, and Tuffy Gosewisch flew out in the 13th with runners on first and third.
It looked as if it was going to be an easy victory for Arizona before Philadelphia rallied for four runs in the eighth. Ruf highlighted the frame, continuing his hot streak by homering in his third straight game and ninth time in August with a two-run shot that tied it at 7.
The Phillies threatened in the ninth off Josh Collmenter when Young walked and went to second on a wild pitch with two outs. Collmenter then walked Jimmy Rollins and Chase Utley to load the bases for John Mayberry Jr., but Collmenter struck Mayberry out.
The Diamondbacks chased Phillies right-hander Ethan Martin in the first inning with three runs on three hits, highlighted by Prado's two-run homer. Martin hadn't pitched shorter than 4 1-3 innings in any of his previous four major-league starts, but he was lifted with the bases loaded and two outs in the first after allowing three runs on three hits and three walks.
Arizona tacked on a run in both the second and third innings and another in the fifth on Parra's RBI single to jump out to a 6-0 advantage. Ruiz homered leading off the bottom of the frame to break up the no-hit bid of Randall Delgado, who allowed three runs on three hits in six innings.
NOTES: The Phillies' previous record for longest game was 6:15, set on July 2, 2004, versus Baltimore. Arizona's mark of 5:53 came on May 29, 2001 at San Francisco. ... Phillies OF Domonic Brown left after playing the field in the second inning with right heel soreness. ... Arizona 2B Aaron Hill left in the seventh inning with mild groin tightness. ... The Diamondbacks placed right-handed reliever J.J. Putz on the 15-day DL with a dislocated right pinky finger and recalled right-hander Chaz Roe from Triple-A Reno. Roe pitched 1 ? scoreless innings. ... Arizona left-hander Patrick Corbin (13-3, 2.45) will face right-hander Roy Halladay (2-4, 8.65).