PHOENIX -- Even after opening the season 1-8, the Washington Nationals kept playing hard.
So it came as no surprise that they refused to quit after spotting NL West-leading Arizona a five-run lead in the third inning.
"It's been normal for us," manager Manny Acta said. "These guys don't give up. They give me everything they've got every day, and sometimes we do this kind of thing."
Washington defeated Arizona for the first time in seven games this year.
The Nationals raided Arizona's normally reliable bullpen with four runs in the eighth and two more in the ninth. Flores' homer came one inning after Ryan Church tied the game at 5-5 with a two-run shot.
"We stole a game," Church said. "It shows we don't give up until the last out."
Church said he was looking for left-hander Doug Slaten to throw a fastball on a 3-1 count.
"And I got it," said Church, who came in hitting .222 against lefties.
Said Slaten, "Stuff like that happens."
The Diamondbacks responded quickly to Church's homer. Rookie Justin Upton led off the eighth with a single off Jon Rauch (8-2) and took third on Mark Reynolds' single. One out later, Stephen Drew hit a sacrifice fly to right field to put Arizona ahead 6-5.
Reynolds had three hits, including a homer, and drove in three runs, and Eric Byrnes also homered for Arizona.
All-Star closer Jose Valverde (1-4) couldn't make the lead stand up, blowing his sixth save in 41 chances.
Flores led off the ninth. When Valverde jumped ahead 0-2, Flores guessed that Valverde would throw him a split-finger fastball. Flores guessed right and hit the pitch 337 feet inside the left-field foul pole to tie the game at 6-all.
"I was trying to protect the zone," Flores said. "I made good contact."
Robert Fick followed with a triple to center and scored on Lopez's sacrifice fly to left.
Rauch pitched one inning of relief to earn the win, allowing one run on two hits with a strikeout.
Chad Cordero pitched the ninth for his 26th save in 34 chances.
It was a disheartening loss for the Diamondbacks, who have been the hottest team in the league since the All-Star break. Arizona lost for only the fourth time in 21 games and saw its lead over San Diego shrink to three games.
"We've seen this a little bit, where we've had a little bit of trouble holding leads, but we've always responded," Arizona manager Bob Melvin said.
Arizona's bullpen cost starter Micah Owings a chance for his first victory since June 20, a span of 10 starts.
"I'm not even thinking about that," Owings said of his long drought. "I'm going to keep focusing on what I can do to help the team."
Owings allowed one run and four hits in 6 1/3 innings. He walked two and struck out eight, matching a season high.
Owings outpitched Nationals starter Mike Bacsik, who allowed five runs and eight hits in four innings, walking one and striking out one. After the game, the Nationals announced that Bacsik would move to the bullpen to make room in the rotation for Shawn Hill, who is expected to be activated from the disabled list in time to start Tuesday night against Philadelphia.
"I threw the ball pretty bad," Bacsik said. "That's the worst I've thrown the ball since I've been here. They took advantage of it."
- Washington optioned LHP Billy Traber to Triple-A Columbus after the game. Hill is expected to be activated before Tuesday night's game against the Phillies.
- Bacsik made his first start since allowing Barry Bonds' 756th career home run Tuesday night in San Francisco. Bacsik was the 446th different pitcher to give up a homer to Bonds.
- Drew's double in the third inning snapped an 0-for-18 slump.
- Washington went 1-6 against Arizona this year, but the Nationals still hold a 38-32 advantage overall, dating to their days in Montreal.