Ivan Rodriguez drove in two runs for the Astros and Lance Berkman homered for his 999th career RBI.
Houston starter Brian Moehler (4-4) allowed three runs on four hits in six innings to get the victory. Jose Valverde gave up a two-out double in the ninth but held on for his fourth save.
Jason Kubel had a two-run homer and Joe Mauer, Brendan Harris and Delmon Young added solo shots for the Twins, who did all their scoring with the long ball.
Mauer's 14th home run set a career-high and extended his hitting streak to 12 games. He's hitting .417 so far this season.
Twins starting pitcher Scott Baker gave up three runs on six hits over 6 1/3 innings.
Sean Henn (0-3) retired only one batter while being charged with the loss.
Copyright 2009 by United Press International.