PHOENIX -- Kelly Johnson's miserable season at the plate evaporated, at least for now, with one big swing Saturday night.
Johnson hit a grand slam off Matt Capps in a six-run eighth inning and the Arizona Diamondbacks rallied to beat the Minnesota Twins 9-6 for their fifth consecutive victory, their longest streak in two seasons.
|More Twins at D-Backs|
"We've got a lot of guys that have driven in a lot of runs," Johnson said. "I'm happy to be a part of that, too."
Arizona overcame a season-worst five errors, three in the eighth inning, for its seventh victory in the past eight games.
"I thought we stayed calm, didn't get frustrated and kind of waited for our opportunity," Diamondbacks manager Kirk Gibson said. "We've done that a couple of games here now. Our actions are becoming better but we've got a long way to go."
Johnson, batting .185 after going 0 for 4 up to that point, lofted the 2-1 pitch from Capps (1-3) deep into the seats in right field, the second slam of his career.
"It was beautiful, man," Johnson's teammate Miguel Montero said. "I was so happy for him. Everybody was. We all know he can hit it, and he did it."
Danny Valencia went 3 for 4 with a home run and three RBI for the Twins, who led 6-3 after 7½ innings.
Juan Miranda doubled twice and drove in three runs for Arizona. Gerardo Parra had a pair of bunt singles, one of them driving in a run.
J.J. Putz threw a scoreless ninth for his 11th save in 11 tries, the longest string of consecutive saves to start a season in franchise history. Aaron Heilman (3-0) was the winner.
"We had the Navy Seals come in and talk to us," Gibson said, recalling a spring training visit, "and they came up with a phrase for us, they use it, it's called 'deal with it -- DWI.' We made some mistakes tonight but we dealt with it. Guys didn't quit."
Capps, Minnesota's closer, entered the game in the eighth after reliever Glen Perkins left with a strained right oblique. Manager Ron Gardenhire said Perkins would be placed on the 15-day disabled list.
"I have never had anything like this, not even close," said Perkins, in obvious pain in the clubhouse. "When it hurt it felt like I had a knife in my side the whole way through. Not in any one spot of my motion, kind of the whole thing. For me this is a huge setback. I don't get to play now. Hopefully someone will be able to step up."
The injury ruined the plans Gardenhire had laid out for pitching that inning.
"Perkins got hurt and that kind of destroyed our route," he said. "We had (Joe) Nathan facing the first hitter which was a right hander and then we had Perkins coming in, the rest was left-handed. We had a really good set up but once Perkins got down we were down to Capps and (Anthony) Swarzak and we went with our closer.
Miranda's second double of the night brought in Arizona's first two runs of the eighth. Parra followed with a bunt single over Valencia's head at third base, then Roberts singled to load the bases for Johnson.
"He is a good hitter," Capps said. "I have faced him in the past and I know he is looking for a fastball. I made a pretty good pitch, I just fell behind and put him in a good situation, a good count and he put a pretty good swing on it."
Minnesota led 6-3 after scoring twice when the Diamondbacks committed two errors on the same play in the eighth.
The first was charged to right fielder Justin Upton on a throw home that was off the mark as one runner scored on Valencia's single. Heilman, backing up the play, threw wild to second trying to catch Valencia advancing. Shortstop Stephen Drew threw home after that but Michael Cuddyer was called safe on a close play.
Valencia's bare-handed play on a ground ball helped the Twins to hold on after the Diamondbacks scored two in the sixth to make it a one-run game.
The rally spoiled a strong outing for the Twins' Scott Baker, who gave up three runs on four hits in five-plus innings. He struck out seven and walked three, one intentionally. Micah Owings, just called up from Triple-A Reno, went 5 1-3 innings for Arizona, giving up four runs, three earned, on seven hits.
The crowd of 39,776 -- on All-Star Game garden gnome giveaway night -- was Arizona's second-largest of the season. ... After a major league-worst 18 home runs through 41 games, Minnesota has eight in its last three contests. ... Arizona rookie left-hander Joe Paterson allowed a run for the first time in his 20 games this season. ... Arizona has two grand slams this season. Drew had the other.