The Twins improve to 55-56 with the win and are now just 1.5 games out of a Wild Card spot in the American League. Minnesota heads to Milwaukee to play two games at Miller Park beginning Wednesday.
Minnesota got within a run with a four-run bottom of the second inning, with Brian Dozier and Max Kepler each supplying two-run home runs off of Rangers starter Nick Martinez.
Joey Gallo's three-run home run proved to be the deciding blow for Texas in the top of the third inning. Twins starter Adalberto Mejia lasted just four innings while allowing four runs on seven hits and three walks.
Ervin Santana pitched a complete game to earn his 12th win of the season. The Twins' ace allowed two runs on four hits and one walk while striking out nine. Santana also had a two-run single in the second inning, giving him five runs batted in on the year.
Jose Berrios took the tough-luck loss for Minnesota after tossing seven innings while allowing just one run on two hits. The Twins managed just three hits against Padres starter Jhoulys Chacin.