ST. PETERSBURG, Fla. -- After two of their most frustrating losses of the season, the Tampa Bay Rays bounced back with one of their best wins.

Chris Archer threw eight shutout innings, and the Rays cruised to a 12-1 victory over the Kansas City Royals on Wednesday night at Tropicana Field.

"I think we played overall a great game tonight," said Archer (3-1), who struck out 11 for the second straight start. "I think this was the game where I executed at the highest level, but I've been feeling pretty good all season."

Archer gave up five hits and no walks. He got his first career win against the Royals after coming in with an 0-4 mark in five starts vs. Kansas City.

The Rays (17-19) reset their season high for runs and came up with 16 hits, including 13 against starter Jason Hammel (1-4), who pitched seven innings to help an overworked bullpen. Hammel was touched for seven runs (six earned) while striking out six and walking one.

Kansas City (12-21) narrowly avoided a shutout.

The Rays led 7-0 after seven innings and added five runs in the eighth, getting a grand slam from Colby Rasmus against reliever Peter Moylan. It was the sixth career grand slam for Rasmus and the second for the Rays this season, following one by Logan Morrison on April 14 at Boston.

Rasmus went 3-for-5, making him 6-for-12 in the four-game series that ends Thursday afternoon.

"When (Hammel) missed, it was over the plate, but (he) competed his tail off," Royals manager Ned Yost said. "It was huge, got us through seven innings, which gave the bullpen a huge break."

Morrison had a home run and three RBIs for the Rays. He just missed a second home run when Alex Gordon made a leaping grab against the wall in the seventh inning.

A night after the Rays used every available reliever in a 12-inning loss to Kansas City, they needed only one. Jumbo Diaz pitched the ninth, giving up three hits and losing the shutout. With two outs, Kansas City got an RBI double by Jorge Soler, his first hit since joining the Royals after an 0-for-15 start.

All nine Rays starters had a hit for the second night in a row, and six had two hits in Wednesday's win. The two sides of the first base platoon both hit well, as Morrison and Rickie Weeks (serving as the designated hitter) combined for five RBIs.

Moylan pitched the eighth for Kansas City, giving up two hits and a walk to load the bases, then walking Weeks to bring in a run before giving up the grand slam to Rasmus, his second home run in five days.

For the second day in a row, the Rays jumped out to an early lead, and this time they had Archer to help hold it.

Archer came through after Tampa Bay used seven relievers the night before.

"He was exceptionally tough," Yost said. "Really good slider, good fastball, good changeup. Slider, located it, he can throw it backdoor for a strike when he wanted to, can throw it back foot to our lefties. He was just sharp."

There was a tense moment in the seventh when Archer hit Salvador Perez, who had words for him then and after the game. Archer said there was no meaning behind the pitch despite Perez getting two hits against him earlier in the game.

"He's a good hitter. I'm trying to pitch inside," Archer said. "There's no malicious intent with 96 miles an hour."

The Rays got a run in the first against Hammel. Corey Dickerson was hit on a foot by a pitch, advanced on a single by Evan Longoria and scored on a sacrifice fly by Morrison for 1-0 lead.

Longoria then reached on a throwing error in the third and Morrison followed with his ninth home run of the season to give the Rays a three-run edge. One batter later, Weeks' second homer of the year upped the lead to 4-0, marking the third time this season the Rays have hit back-to-back home runs.

Tampa Bay added two runs in the fourth. Derek Norris singled and scored on an RBI triple by Dickerson, who then scored on a sacrifice fly by Brad Miller.

Three straight singles in the fifth made it 7-0, with Norris getting an RBI.

NOTES: Seeking bullpen help, the Royals selected the contracts of RHPs Al Alburquerque and Seth Maness from Triple-A Omaha. In turn, they optioned RHP Jake Junis, who picked up the win in Tuesday's 12-inning game. To make room on the 40-man roster, Kansas City designated two players for assignment: INF Christian Colon and OF Peter O'Brien. ... Rays OF Steven Souza missed a second straight game after jamming a thumb Monday in a loss to the Royals. ... All nine Rays starters had a hit Tuesday night, the first time that has happened in a Tampa Bay loss since a September 2008 game against the New York Yankees. ... The Rays drew a crowd of less than 10,000 for the second night in a row after not doing so once since October 2015.