Updated

Juan Miranda provided some power, Daniel Hudson was a workhorse on the mound and closer J.J. Putz stayed perfect in save situations.

Add it up and the Arizona Diamondbacks ran their winning streak to six games, their longest in three seasons, with a 3-2 victory that completed a three-game interleague sweep of the Minnesota Twins on Sunday.

The Diamondbacks have won eight of nine to climb to .500 (23-23) for the first time since April 20.

"We're rolling on a lot of cylinders right now," Hudson said. "It feels good. Everything's kind of going good right now — our hitting, pitching, fielding. So I think we're taking a streak on the road in a good spot."

Miranda, 9 for 18 on the homestand with five RBIs, left in the eighth inning after being hit in the right wrist by a pitch. He said afterward it was nothing serious.

Hudson (5-5), who also had an RBI single, allowed two runs, including Delmon Young's first homer of the season, and eight hits in eight innings with six strikeouts and no walks to improve to 5-1 in his last six starts.

"This whole weekend, this whole home stand was starting pitching," Putz said. "That set the tone for everything to get us in position to score some runs and let the bullpen come in and finish things off."

Hudson threw 113 pitches, the seventh game in a row he has topped 100. He said manager Kirk Gibson asked him after seven innings if he was ready to go one more.

"I said 'Yeah, I'm still good,'" Hudson said. "He just threw me back out there. It was my game. I didn't want anybody else to take it from me."

Putz pitched a scoreless ninth to extend his franchise record of 12 consecutive saves to start the season. The first two outs for Putz were on line drives he snagged.

Arizona, 6-1 on the homestand, has the longest active win streak in the majors. Four of the victories have come by one run.

Alex Burnett (0-3) took the loss. The Twins have lost 12 of 15 and, at 15-30, have the worst record in baseball.

Francisco Liriano got no decision in his third start since throwing a no-hitter against the White Sox in Chicago on May 3. He allowed two runs on six hits in six innings, striking out four and walking four.

"I am not real happy about it at all," he said. "The fact that I was getting too deep in the count, wasn't throwing first pitch for strikes. It was a battle for me out there. I was overthrowing today. I was throwing too hard, just rushing, going forward too quick, instead of staying back and hitting my spot. I was trying to be too perfect."

Willie Bloomquist, the first batter Burnett faced, doubled to center, where Ben Revere booted the ball, allowing the runner to advance to third. Revere made a bobbling, over-the-shoulder catch of Ryan Roberts' flyball in deep center field, a sacrifice fly that scored Bloomquist to put Arizona ahead 3-2.

Miranda's home run, with one out in the fourth, was only the fifth for a left-handed hitter — out of 56 total — against the lefty Liriano and first since Ken Griffey Jr. did it on opening day of 2009.

After the home run, Xavier Nady walked, then Henry Blanco's bloop single put runners at first and second with two outs. Hudson singled in the run, his fifth RBI of the season, and Arizona led 2-0.

Young started the Minnesota fifth with an infield single, then Rene Rivera doubled to leave runners at second and third with no outs. Hudson fanned Alexi Casilla, but Liriano's groundout brought Young home to cut the lead to 2-1. Revere bounced out to third to end the inning.

Young's leadoff home run in the seventh tied it at 2.

NOTES: Liriano's single in the third was his second major league hit. The other was on May 19, 2006, at Milwaukee. ... Arizona swept an interleague series at home for the first time in franchise history. ... Minnesota plays its next six at home, where the Twins have played just 15 games, fewest in the majors. ... The Diamondbacks have Monday off, then play a doubleheader at Colorado, one of them to make up an April 3 game that was snowed out. ... Arizona's Justin Upton was 0 for 4 and is hitless in his last 15 at-bats.