ARLINGTON, Texas (AP) -- Joey Gallo hit another impressive home run. The Texas Rangers played some small ball, too.
Rougned Odor had three hits and scored three times in a 6-2 victory over the Detroit Tigers on Monday night, including the go-ahead run after he reached on a bunt single and came home when Delino DeShields executed a safety squeeze bunt that he did on his own.
"I only do that when I know there's guys on third base that can run, who expect me to do it, and Rougie, he's an instinctive guy," DeShields said. "I was confident if I just got it down, he'd get there. … It wasn't the greatest of bunts, but it worked out."
DeShields actually hesitated coming out of the box, thinking the bunt would go foul, and still almost beat catcher James McCann's throw to first. Odor, who had gotten to third with a stolen base after McCann threw behind him trying to pick him off second, raced home to break a 2-all tie in the second and put Texas ahead to stay.
"I think Mac didn't think he was coming," bench coach Gene Lamont said afterward. "It wasn't a real good bunt, but we didn't execute well on that play. They put pressure on you because they have speed."
Gallo's 33rd homer overall and eighth in August, a shot to center in the third that made it 4-2, was estimated by MLB stats at coming off the bat at 112 mph and going 428 feet.
An inning later, Odor had a leadoff double, went to third on a sac bunt and scored on Drew Robinson's single. Odor singled again in the sixth, got to third on a stolen base and throwing error by McCann, and scored for the third time on a single by Robinson Chirinos.
Martin Perez (7-10) had a second straight solid start for Texas. The lefty made it through six innings without giving up any more runs after Justin Upton's 23rd homer , a two-run shot in the first.
Perez had lost four straight starts before going eight innings at the Mets last Wednesday, limiting New York to one run and three hits.
Tigers starter Michael Fulmer (10-10) walked the first two Texas batters he faced. Nomar Mazara then drove in a run with the first of his three singles, and Adrian Beltre had a game-tying sac fly .
"I was just out of synch. I think I got better as the game went on, but I felt every pitch was either a ball or right down the middle," Fulmer said. "They had some hard hits and some soft hits. They bunted, took extra bases."
Robinson had a spectacular catch to end the top of the first. The center fielder ran a long way before diving, then had his left arm fully extended with his glove only inches off the ground when he caught the ball hit by John Hicks.
Tigers 2B Ian Kinsler was ejected from the game during the middle of an at-bat in the fifth after having words with home plate umpire Angel Hernandez about balls and strikes. Manager Brad Ausmus also got tossed when he came out to discuss things.
Texas reliever Ricardo Rodriguez made his major league debut with two strikeouts in a perfect seventh after replacing Perez. Rodriguez, who turns 25 on Aug. 31, has been in the Rangers organization since the 2011 season, and had never pitched above Double-A.
Tigers: 1B Miguel Cabrera missed his second straight game because of back stiffness.
Rangers: Jake Diekman, who hasn't played yet this season after three operations to remove and rebuild his colon, threw 27 pitches during live BP. Manager Jeff Banister said the lefty reliever has been progressing nicely and called it a "very encouraging day."
Tigers: Justin Verlander (8-7) will try to win his fourth straight start. The right-hander threw eight scoreless innings last Wednesday against Pittsburgh, and has allowed only two runs over 21 innings his last three starts.
Rangers: A.J. Griffin makes his third start since coming off the DL. He has allowed five earned runs over 11 innings in his last two games.