ST. PETERSBURG, Fla. - It took a masterful performance for Jake Odorizzi to get a rare win.

Odorizzi allowed one hit and struck out 10 while pitching into the eighth inning as the Tampa Bay Rays beat the Houston Astros 8-0 on Saturday.

"A lot of things went right today," Odorizzi said.

Odorizzi (3-7) retired his first 10 batters before Jose Altuve's one-out infield single in the fourth that went off the pitcher's foot. The right-hander, who went 7 1/3 innings, won for just the second time in his last 14 starts.

"Tough luck," Odorizzi said of Altuve's hit. "It was coming too fast."

Only one runner reached second base against Odorizzi, who walked two. Brad Boxberger and Kirby Yates completed the one-hitter.

"That's the kind of game we're capable of, absolutely," Tampa Bay manager Joe Maddon said. "We finally got the hits when we needed them and the pitching was outstanding. Jake was really good."

The Rays are 7-18 in their last 25 games. They have nine shutouts this year.

Jake Buchanan (0-1) gave up five runs, eight hits and three walks over 4 1/3 innings in his major league debut. He had his contract purchased from Triple-A Oklahoma City to fill in for Brad Peacock, who was scratched from his scheduled start after having food poisoning earlier in the week.

"It was pretty exciting to get out there and pitch in a big league game," Buchanan said. "I tried to settle in and battle and did the best I could."

Kevin Kiermaier had an RBI double and James Loney hit a run-scoring single as the Rays took a 2-0 lead in the first. Buchanan avoided further damage by getting an inning-ending grounder from Yunel Escobar with the bases loaded.

Tampa Bay had a three-run fifth to take a 5-0 lead. Brandon Guyer drove in a run with single before Matt Joyce had an RBI double that ended Buchanan's day. Ryan Hanigan added a run-scoring double against Jerome Williams.

Loney had a two-run single in a three-run eighth that extended the Rays' lead to 8-0.

Altuve went 1 for 3 with a walk, and has 12 hits in his last 21 at-bats. It was the ninth time this season, and second in three days, that Houston was shut out.

"That's the nature of baseball," Astros manager Bo Porter said. "You can't let a bad today ruin a great tomorrow. We come back (Sunday) and have an opportunity to get a split in a four-game series on the road, which is always good."

NOTES: The teams wore retro 1970's uniforms on "Turn Back the Clock Day." Maddon remains a fan of the Astros' rainbow uniforms that they wore Saturday. "They nailed it," Maddon said. "I do dig the uniforms." ... Houston C Jason Castro was the DH one day after taking a foul ball off his knee. He is expected to get Sunday off, ... To make room on the roster for Buchanan, RHP Paul Clemens was optioned to Triple-A Oklahoma City and RHP Jose Cisnero (sore right elbow) was transferred from the 15- to the 60-day DL. ... Houston RHP Anthony Bass (right intercostal strain) will start a minor league rehab assignment Sunday with Single-A Quad Cities. ... Astros LHP Dallas Keuchel (8-4) and Rays LHP Erik Bedard (3-5) are Sunday's scheduled starters.