Goldschmidt hit his 30th homer, Greinke won for the first time in almost a month and the Diamondbacks avoided a three-game sweep at the hands of Seattle by beating the Mariners 5-2.
With the victory and Colorado's 12-3 loss to St. Louis, the Diamondbacks were back alone in first place in the NL West, a game up on the Rockies and 2 1/2 ahead of the Los Angeles Dodgers. Houston beat the Los Angeles Angels 3-1, so Seattle fell 6 1/2 behind the Astros in the AL West.
"This is an amazing game, and you can't take anything for granted," Diamondbacks manager Torey Lovullo said. "We fumbled a couple of balls out there and that leads to a couple of runs, but when we had to, we made pitches and made plays and won a very tough game.
"When I tell you today was hard, that was probably an understatement after what we walked through last night."
Goldschmidt's three-run shot off Mike Leake (8-8) punctuated a five-run third inning for the Diamondbacks, who bounced back from blowing a two-run lead in the ninth Saturday night and losing in 10 innings.
Arizona flirted with losing this one in the ninth, too. Ben Gamel and Chris Herrmann opened the inning with singles off Yoshihisa Hirano and left fielder David Peralta dropped Dee Gordon's line drive to allow a run to score.
Brad Boxberger, who blew the save Saturday night, came in and walked pinch-hitter Nelson Cruz to load the bases. But Mitch Haniger lined out sharply to third and Robinson Cano bounced into a double play to give Boxberger his 29th save in 35 tries.
"We did put some pressure on them, had our chances there late," Mariners manager Scott Servais said, "just not enough."
Greinke (13-8) gave up an unearned run and five hits in 6 2/3 innings, striking out six and walking two. He had gone 0-3 in his previous four starts.
Leake fell to 0-4 in his last 10 starts and hasn't won since June 23 despite several strong outings in that span. He was tagged for five runs and seven hits, striking out six in six innings Sunday.
"It's part of the game," he said of the long stretch without a win. "There's ups and downs. It's what you learn throughout your career. It's just part of it and you've just got to keep doing a good job."
Jeff Mathis, Greinke and Jon Jay loaded the bases with one-out singles in the third. A.J. Pollock brought the tying run home with a sacrifice fly and David Peralta made it 2-1 with a slow-rolling RBI infield single.
Peralta's was the key hit of the inning, Servais said, "an extra out."
That brought up Goldschmidt, who was 1-for-10 in the series before sending Leake's pitch deep into the left field seats.
It is Goldschmidt's fourth career 30-homer season.
"Honestly, it's not something I'm thinking about," he said. "We're obviously here in a playoff race and just trying to find a way and go out and perform and help us win. Even if I don't do that (hit 30 homers) and the team wins, that's most important."
Seattle got an unearned run in the first when Haniger reached on shortstop Ketel Marte's throwing error. With two outs, Haniger advanced to second on Denard Span's single and scored when Kyle Seager singled.
Mariners: Leake was scratched from his last scheduled start Aug. 21 because of illness.
The Diamondbacks showed a video tribute to Arizona Sen. John McCain, who died Saturday of brain cancer. McCain was a fan of the team and a regular at games until his illness forced him to stay away. The tribute even included a repeat of McCain's tweet after the Dodgers celebrated clinching the pennant with a dip in the Chase Field swimming pool, calling it a "no class act by a bunch of overpaid, immature, arrogant, spoiled brats."
After the video, there was a moment of silence for McCain. A No. 18 jersey with the name "McCain" hung in the Diamondbacks' dugout.
In a statement, Diamondbacks President and CEO Derrick Hall said, "I am honored to consider him a friend and we will miss seeing his smiling face in the stands."
More AP MLB: https://apnews.com/tag/MLB and https://twitter.com/AP-Sports
Ichiro Suzuki starts likely his last spring opener with a hit for Mariners
Ichiro Suzuki said he was nervous before Seattle's spring-training opener against Oakland on Friday, but the 45-year-old Mariner went 1-for-2 with a two-run single before leaving for a pinch runner.
Bryce Harper meets with Phillies owner John Middleton in Las Vegas
Phillies owner John Middleton is meeting with free agent Bryce Harper in Las Vegas, but barring something unexpected, a deal will not be completed Friday night, sources told ESPN.
Mets say Jed Lowrie (knee) should be ready for Opening Day
The Mets said Friday that infielder Jed Lowrie should be ready for the start of the regular season after an MRI on his sore left knee was negative.
Kershaw says it's 'best' to takes a few days off
Clayton Kershaw says now is a good time for him to rest, as he recently said a bullpen session "didn't feel right."
Regular-season pitch clocks this year are a real possibility
Major League Baseball announced the parameters for a 20-second pitch clock for spring training games Friday, and sources told ESPN that adding it for this regular season is a real possibility.
10 stars not named Bryce or Manny who changed teams this winter
From Paul Goldschmidt in St. Louis to Josh Donaldson in Atlanta, we tell you what to expect from some familiar faces in new places.