Singer pitched eight one-hit innings in his previous outing at Cleveland. The rookie right-hander struck out the first five Detroit hitters and retired the first 10.
''Just try to lock in from pitch one and keep it rolling,'' Singer said.
Singer (3-4) struck out eight with one walk. Salvador Perez homered and drove in three runs for the Royals, who have won seven of eight.
Tarik Skubal (1-3) allowed two earned runs and four hits in six innings in this matchup of rookie starters. He struck out eight with no walks.
''Our guy threw the ball pretty doggone good, too,'' Detroit manager Ron Gardenhire said. ''We were happy with Skubs.''
After throwing 119 pitches in his previous start - when he took a no-hitter into the eighth - Singer was taken out after just 81 this time.
''Obviously, it would have been very easy to run him back out there for another one,'' Royals manager Mike Matheny said. ''But to get us through six right there and give us a chance, a very fresh bullpen - all of that kind of played well into our hands to hand it over to the back end of the pen.''
Singer has pitched at least five innings in all seven of his road starts, without allowing more than five hits in any of them. Detroit stranded two runners against him in the fourth, and that's as close as the Tigers came to scoring.
Perez gave the Royals the lead with a two-run homer in the first, then added an RBI double in the sixth. He now has five straight multi-hit games since returning from the injured list.
Kansas City added another run in the eighth on a wild pitch.
Detroit has lost four of five.
Royals: Kansas City put RHP Matt Harvey (right lat strain) on the 10-day IL. The Royals recalled RHP Scott Blewett and INF Erick Mejia and also optioned RHP Jacob Junis. Mejia went 0 for 3 with two strikeouts.
Kansas City is off Thursday before playing at Milwaukee. Left-hander Kris Bubic (1-5) starts Friday night for the Royals.
Detroit rookie Casey Mize (0-1) takes the mound Thursday night when the Tigers open a series with Cleveland. Shane Bieber (7-1) starts for the Indians.
Follow Noah Trister at https://twitter.com/noahtrister
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports