Tarik Skubal (5-7) lost his fifth straight start, allowing five runs, five hits and three walks in 4 2/3 innings. He has a 9.00 ERA during the skid, raising his season ERA to 4.06.
''The command and mechanics - it feels like sometimes I'm fighting myself and I feel like I'm doing that right now,'' Skubal said. ''I've just got to be better about not doing that.''
Detroit pitchers tied a season high with eight walks, including two with the bases loaded.
''We walked eight, hit another and walked two runs in,'' Tigers manager A.J. Hinch said. ''We didn't do the job. That's the big issue.''
Jose Cuas (2-0) relieved Brady Singer with the bases loaded and a 5-2 lead with two outs in the fifth and retired Javier Baez on a lineout that right fielder Whit Merrifield got with a sliding catch.
''Brady had some of the best stuff we've seen from him,'' Royals manager Mike Matheny said. ''But he had to wait 30 minutes while we were hitting in the top of the fifth and he lost his rhythm. Obviously, you want big innings, but he couldn't get his stuff back, which was a shame the way he had been going.''
Scott Barlow pitched a perfect ninth for his 12th save in 14 chances.
Spencer Torkelson hit his fifth home run of the season for the Tigers, his first since May 20, and rookie Kody Clemens, a son of seven-time Cy Young Award winner Roger Clemens, hit his second.
Detroit has lost 14 of its last 20 games and at 30-47 is one game ahead of last-place Kansas City (29-48) in the AL Central.
Tigers catcher Tucker Barnhart threw out Nicky Lopez trying to steal second base in the second inning, and Skubal picked off Whit Merrfield at first base in the third.
Singer gave up two runs and six hits and matched his career high with nine strikeouts, also against the Chicago White Sox on May 17.
Detroit built a 3-0 lead when Olivares homered leading off the second and Rivera hit a two-run drive.
''I was able to drive it,'' Olivares said.
Andrew Benintendi's RBI double in the fifth chased Skubal, and Wily Peralta loaded the bases with a walk to Bobby Witt Jr., then walked Olivares on four pitches.
Jason Foley walked Michael A. Taylor with the bases loaded in the seventh. Clemens homered against Dylan Coleman in the bottom half and Victor Reyes added a sacrifice fly.
Lopez added an RBI single in the ninth.
Riley Greene twice appeared to steal second base in the third inning. The first was wiped out by an interference call on Reyes, whose bat came in front of Cam Gallagher on its follow-through, the second when a video review reversed the initial safe call by second base umpire Mark Carlson.
Royals: RHP Jonathan Heasley (1-4, 5.20) starts Monday's series opener at Houston.
Tigers: RHP Garrett Hill is expected to make his major league debut in the opener of Monday's day-night doubleheader against visiting Cleveland and RHP Alex Faedo (1-4, 4.84) is to pitch the second game. RHP Zach Plesac (2-5, 3.86) is to start the opener for the Guardians.
More AP MLB: https://apnews.com/hub/MLB and https://twitter.com/AP-Sports
Copyright 2022 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.