The Twins hadn't had a homer in 83 innings, but Tim Teufel and Tom Brunansky each homered and drove in three runs in Minneapolis.
Teammate Frank Viola struck out a career-high 11.
Viola, who had never before won a game in September, said, "It'd been a long time coming. It's a nice feeling and maybe this will get us going."
"We were in a drought but it's over now," Brunansky said. "We hadn't scored three runs in an inning in a long time and that really picked us up."
Teufel's homer in the fourth inning tied the game, 1-1.
Brunansky hit a three-run shot in the sixth to put Minnesota ahead, 4-1. Brunansky's 29 homers are the most for a Twins player since Harmon Killebrew's 41 in 1970.
Teufel's triple in the seventh drove in two runs and blew the game open.
Viola (15-12) gave up 11 hits and walked none in 8 2/3 innings. Rick Lysander got the last out for his fourth save.
Texas starter Mike Mason allowed both homers as his record fell to 8-12.
The Rangers scored a first-inning run as Larry Parrish singled home Gary Ward. The Twins tied it, 1-1, in the fourth on Teufel's 14th home run.