Gibson, who had a 7.22 ERA in seven outings since his last win, scattered four hits and three walks with four strikeouts. He outdueled Astros lefty Scott Kazmir, who surrendered three runs on three hits, two hit-by-pitches and a walk over seven frames.
"I probably should've gone seven or eight tonight, so that's the only frustrating part about it," Gibson said. "But any time you can leave an outing healthy without giving up any runs is a good thing. It's a little frustrating I couldn't get into the seventh or eighth, but throwing 5 2/3 innings of shutout ball, you're giving your team a chance to win, obviously."
The Astros made it interesting in the ninth, loading the bases with two out against right-hander Kevin Jepsen, but he was able to get Jose Altuve to fly out to center to end the game and get his fourth save with the Twins since being acquired from the Rays at the non-waiver Trade Deadline.
MOMENTS THAT MATTERED Nunez fills in capably: With Miguel Sano out of the lineup because of a right hamstring injury, Nunez got the start at third base and made the most of his opportunity. He got the Twins on the board with his solo shot in the third and came through with an RBI groundout as part of a two-run fourth.
"I know Sano in the lineup has been big for us and he was out right now so we're fighting to make the playoffs," Nunez said. "Houston is a team with very good pitching. So I just tried to have a good game and get a good pitch, and do my thing."
Kazmir's off-inning: Kazmir struggled with his control early in the fourth inning, walking Brian Dozier and then hitting both Trevor Plouffe and Torii Hunter. Kazmir plunked Hunter with the bases loaded to force in a run, but he recovered after that, thanks in part to a nice play from second baseman Altuve that helped limit the damage to only two runs. More >
"Hitting two guys right there, that's just something you just can't do especially when you've got guys on early on in the inning, so that was frustrating," Kazmir said.
Perkins returns from injury: Twins closer Glen Perkins had been out with lower back spasms since Sunday, but he came back to pitch a scoreless seventh inning with two strikeouts. The All-Star is being eased back into his closer's role, but showed he was healthy with his clean seventh inning -- marking the first time he'd pitched in the seventh since May 2, 2012. Trevor May followed with a scoreless eighth with Jepsen getting the save in the ninth. More >
"I knew I would be all right, but it was just a matter if there was any rust and I felt about as good as possibly could've hoped. I told [catcher] Kurt [Suzuki] after I was done that was about as loose as my arm had felt in two months."
Castro pulls up: Astros catcher Jason Castro left the game in the fifth inning with a right quad strain. With one out, he doubled to the gap, but pulled up after rounding first and grabbed his leg. He left the game immediately and Hank Conger came in to pinch run and assume the catching duties. More >
"Probably the third or fourth step after touching first, I just felt it grab," Castro said. "My upper quad locked up pretty tight and [it's] pretty sore right now. Got some treatment on it. We're kind of going to see how it feels tomorrow, how it responds overnight."
"I kind of planned that to bring the winning run to the plate with the reigning batting champ up. That's exactly what I wanted to do. [Laughs] But no, especially having that many at-bats against that team that can easily pop one out of the park, you try not to put yourself in those situations. But at the same time, it's baseball and they can't always go 1-2-3, so it's about making pitches when you have to." -- Jepsen, on the ninth
SOUND SMART WITH YOUR FRIENDS
The Astros saw their streak of eight consecutive games allowing two runs or fewer come to a close. It was a franchise record and the longest by an AL club since the Orioles did so in 10 straight games from Aug. 29-Sept. 7, 1974.
Twins catcher Kurt Suzuki hit a deep drive down the left-field line that was ruled foul by third-base umpire Bill Miller, and a crew chief review was called. But after a short review, the call was confirmed as a foul ball.
WHAT'S NEXT Astros: Coming off a no-hitter against the Dodgers on Aug. 21, right-hander Mike Fiers will get the ball for the middle game of this road series on Saturday at 6:10 p.m. CT. Fiers (6-9, 3.63 ERA) threw a career-high 134 pitches in the no-no and will be working on extra rest.
Twins: Right-hander Mike Pelfrey (6-7, 3.69) will start rematch of this series at Target Field on Saturday at 6:10 p.m. CT. Pelfrey owns a 2.83 ERA over five starts in August, but he has just win during that span.
Rhett Bollinger is a reporter for MLB.com. Read his blog, Bollinger Beat, follow him on Twitter @RhettBollinger and listen to his podcast. Betsy Helfand is an associate reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.