The Texas Rangers had a solid road trip end on a sour note.
B.J. Upton hit three home runs, James Shields threw a two-hitter and the Tampa Bay Rays beat Texas 6-0 on Sunday.
The AL West-leading Rangers completed a 10-game road trip at 6-4.
"Today definitely wasn't our day, but we're playing well," Texas designated hitter Michael Young said.
Upton hit solo homers in the first, fourth and sixth innings. He struck out in second, and received a standing ovation before hitting a broken-bat grounder to third in the eighth.
"You kind of dream about doing things like that and they don't happen very often," Upton said. "And to do that against a Ranger ballclub that pitches pretty well is a great feeling."
Upton joined Evan Longoria (2008) and Jonny Gomes (2005) as the only Tampa Bay players with three-homer games.
Shields (14-8) permitted just three baserunners. Elvis Andrus reached on a first-inning error, Nelson Cruz had an infield single in the second and David Murphy singled in the eighth.
"James Shields was on," Texas manager Ron Washington said. "He was really good. If you look at the game, you've got to give credit to James Shields. When a guy like that is pitching like that, it makes you look like you're lethargic."
Tampa Bay took two of three in the weekend series against the Rangers. The first two games went extra innings.
Roy Oswalt, making his first start since Aug. 23, left after two innings because of right flexor muscle soreness near his elbow. The Texas right-hander, who allowed four runs and six hits, took the place of 15-game winner Matt Harrison, who had his scheduled start pushed back from Sunday to Tuesday to allow for extra rest.
"I felt it on one pitch in the first, on my slider and it bit me a little bit," Oswalt said. "Couple days, it should be all right."
Shields struck out eight in his second complete-game shutout this year. The other came in a 3-0 win over Oakland on July 31.
"A lot of first pitch strikes, and worked ahead in the count really well," Young said. "He did a really good job."
Upton put the Rays up 1-0 on a first-pitch leadoff homer against Oswalt (4-3) in the first. Matt Joyce, mired in an 8-for-60 slide, made it 2-0 later in the inning with an RBI double.
Upton had a fourth-inning shot off Martin Perez that extended the lead to 5-0. He also hit his 21st homer this season against the left-handed reliever in the sixth.
Perez, making his first appearance since being recalled from the minors on Sept. 1, allowed two runs over five innings.
"He did a great job," Washington said. "He gave us five innings of two-run ball, and both them were off B.J. Upton, who had one heck of a day."
Tampa Bay went ahead 4-0 on Jose Molina's two-run homer during the second. It was his sixth homer this season and first since Aug. 17.
NOTES: Texas had won six consecutive series. ... Oswalt has given up 11 homers in 54 1-3 innings this season. ... LHP Miguel De Los Santos, placed on waivers by Texas on Thursday, was claimed by Milwaukee. ... Both teams are off Monday. ... Tampa Bay plays at Baltimore, while Texas hosts Cleveland on Tuesday.