"Not a lot happened offensively," Twins manager Ron Gardenhire said. "We had a couple of chances. We got back in it with Span's home run and [Ryan] Doumit had a chance with the bases loaded but not a lot of chances."
Right-hander Kevin Correia handcuffed Minnesota over 5 1/3 scoreless innings, allowing just four hits and a walk with two strikeouts.
He exited with runners at the corners and one out in the sixth after Josh Willingham singled to center field with Ben Revere on second base. Revere, though, was held at third base by third-base coach Steve Liddle and ended up being stranded there, as reliever Tony Watson got Justin Morneau to pop up and Ryan Doumit to strike out to end the inning with the bases loaded.
Gardenhire, though, said that Revere was held because he wasn't running full speed on the line drive to center field and that it was the right decision by Liddle.
"He hesitated on that; it was a line drive to center field," Gardenhire said. "When he hesitates like that, the best thing you can do is hold him."
The Twins didn't get on the board until the seventh inning, when Span connected on a two-run blast off Juan Cruz with two outs.
But Minnesota was already down four runs entering that frame, as left-hander Scott Diamond surrendered four runs on eight hits and two walks over 5 1/3 innings.
"I definitely was battling all night," said Diamond, who fell to 5-3 on the year. "I really wasn't executing that well. I left a lot of pitches over the middle and up, and when you do that you get hit pretty hard. And it showed tonight. It's definitely going to be a week of adjustments heading into Cincy [on Sunday]."
The Pirates jumped out to an early lead on a solo shot from Josh Harrison on a ball that appeared to hit off Willingham's chest in left field. Willingham said he thought it hit the wall first but wasn't sure, as he couldn't find the ball in the sun.
"I couldn't see it at first because the sun was in my eyes," Willingham said. "I saw [Brian] Dozier running back, so I started back and got to the fence and tried to grab it with my glove. But I guess it missed my glove and hit the fence and bounced off me and went off the fence."
The Pirates tacked on a run in the fifth on a sacrifice fly from Casey McGehee before scoring two runs in the fifth. Clint Barmes laced an RBI double that knocked Diamond from the game and later scored on an RBI groundout from Matt Hague. The Pirates stole three bases that frame, including two by Harrison, including the second one on a double steal with Andrew McCutchen.
"That was a big spot," Harrison said. "It was a one-run game at that time. We had a pretty good feel for that guy, and trying to pick right times to run. I felt that was the best time to go."
Pittsburgh added three insurance runs in the seventh, including a two-run homer from McCutchen off reliever Jeff Manship. Rod Barajas also provided a sacrifice fly later in the inning.
It marked just the third time the Twins had lost to the Pirates over their last 11 meetings, but the two clubs hadn't met since 2009.
"We saw them all spring," Gardenhire said. "Clint Hurdle and his staff do a great job over there. They play the game, respect the game and play the game hard. And it showed tonight. They outplayed us. They've been doing a really nice job. I follow them and watch them because Clint's a good friend. That's a good team."