Texas' Josh Hamilton had a home run, walk and a run scored as the designated hitter one night after leaving in the fifth inning with back spasms.
Cruz finished 3 for 5 with two doubles and two RBIs, and Adrian Beltre hit a home run that tied the game in the sixth as the Rangers improved to 41-5 the past two years in games in which Beltre has homered.
Joe Nathan (1-2) pitched scoreless ninth and 10th innings for the Rangers, his longest outing in almost three years after ligament replacement surgery.
Kyle Waldrop (0-1) failed to get an out in the 10th and took the loss.
Trevor Plouffe, Ryan Doumit and Josh Willingham each drove in runs for the Twins, who took a one-run lead on Willingham's solo homer in the sixth. Samuel Deduno, making his first major league start, gave up three runs, including two home runs, and six hits. He struck out three and walked three.
The Rangers had a few chances to go ahead late, but couldn't capitalize. They loaded the bases with two outs in the seventh, but Beltre grounded out to end the inning.
In the eighth, David Murphy walked and stole second with two outs, followed by a walk to Mike Napoli. But Craig Gentry popped out to short center field handled by Twins shortstop Brian Dozier. The Rangers are 2 for 16 with runners in scoring position in the series, including 1 for 8 on Saturday.
Deduno was the 11th Twins pitcher to start a game this season, the most in the American League. San Diego leads the majors with 13.
Minnesota struck first, scoring two in their half of the second inning. Morneau and Ryan Doumit, who led off the inning with a single and double, scored on a fielder's choice and Dozier's run-scoring single.
Willingham gave the Twins the lead a second time on a home run to center field until Beltre's blast tied the game again.