Nicky Lopez, Michael Massey and Edward Olivares each had two hits and one RBI for the Royals, who won for just the second time in their last 11 games. Kyle Isbel, Salvador Perez and Bobby Witt Jr. also had two hits apiece during Kansas City's 14-hit attack
Singer (2-2) gave up one run and five hits over six innings. He struck out five and walked none.
Scott Barlow recorded the final five outs to notch his third save of the season. He allowed a leadoff double in the ninth to Geraldo Perdomo before issuing a two-out walk to Corbin Carroll. But Barlow got Christian Walker to ground out to third to end the game.
Carroll had three hits, two steals and scored twice for Arizona, which has dropped five of its past seven games. Lourdes Gurriel Jr. had two hits.
The Diamondbacks trailed 5-2 entering the bottom of the eighth with Aroldis Chapman on the mound. Carroll led off the inning with an infield hit, Gurriel followed with a one-out single to left and the two runners advanced on a double steal
Pinch hitter Emmanuel Rivera followed with an infield single to score Carroll. Witt, the Royals shortstop, made a diving stop of the ball but his throw to first was wide and Gurriel scored to bring Arizona within one
Barlow replaced Chapman and fanned Gabriel Moreno and Alek Thomas to end the inning.
Arizona's Ryne Nelson (1-1) gave up four runs and 11 hits over five innings. He struck out three and walked none.
The Royals pushed across a run in the first inning as Witt led off with a single, moved to third on a one-out single by Perez and scored on Olivares' single
Kansas City tacked on another run in the fourth when Hunter Dozier doubled with two outs and scored on Lopez's single.
Arizona got on the board in the bottom of the fourth when Carroll led off with a triple off the center field wall and scored on Walker's groundout.
The Royals scored twice in the fifth to take a 4-1 lead. Perez hit a one-out single, moved to third on Olivares' double and scored on Massey's single. Franmil Reyes followed with a sacrifice fly to the wall in center to score Olivares
Arizona loaded the bases with one out in the seventh against Taylor Clarke. Josh Rojas followed with a scorching line-drive sacrifice fly to right hit directly at Dozier.
Isbel tripled with two outs in the eighth and scored on a wild pitch by Anthony Misiewicz to score an insurance run the Royals would ultimately need
--Field Level Media