The Royals improved to 20-6-1, matching 2011 (20-10-1) for their second most spring training victories. Their most spring wins came in 1999, when they went 22-9.
"I think outside looking in, it could be a Kansas City year," said Bloomquist, a Diamondbacks' utility player who played with the Royals in 2009-10. "They've got a pretty good dang team. If you ask me, I like where they are at right now. They've got a chance to be good for a lot of years. I like their team."
Gordon hit his fourth homer and Butler also connected in the first inning. Johnson hit a two-run homer in the fifth and also had a sacrifice fly.
Paul Goldschmidt drove in four runs for Arizona, going 3 for 3 with two doubles and a sacrifice fly to raise his batting average to .412.
"He's a professional. He works hard and does what he's supposed to do. Good things happen to those sort of players," Bloomquist said. "He's pretty even keel whether he's hitting .150 or .450, you would never know it. He just goes about his business the right way every day."
Miguel Montero hit a two-run homer in the Diamondbacks' five-run seventh, while Alfredo Marte homered in the eighth to tie the score. Marte returned to the big league camp after being optioned March 13 to Triple-A Reno after Adam Eaton's left elbow injury that will keep him out six to eight weeks.
Kottaras went 2 for 3 with three RBIs and two walks.
"He's one of those guys that never has a panic at-bat," Royals manager Ned Yost said. "He always stays within himself. He always knows what he wants to do. He had a great eye at the plate and he gives you a professional at-bat every time."
Right-hander Ervin Santana, who will start the Royals' second game of the season, allowed four runs, two unearned, on six hits and a walk over six innings.
"My location was very good," Santana said. "Every time when you have the ball down and locate it, it's going to be good results. I don't try to work on anything. I just go with the mentality to get people out. If I have a pitch working that day, I use it. If not, I use the other ones. That's my mentality."
Arizona starter Randall Delgado allowed six runs on nine hits, including three home runs, and four walks in five innings, throwing 59 strikes in 96 pitches.
Jeff Francoeur, the final batter Delgado faced, hit a shot off the middle of Delgado's back that Goldschmidt caught in the air between first and second.
Delgado said he was OK.
Chris Getz has won the Royals' 2B with 2B Johnny Giavotella optioned to Triple-A Omaha. Giavotella, a 2008 second-round pick, owns a career .308 batting average in the minors, but has hit .242 in 99 big league games. He hit .267 in 21 spring training games, while Getz is hitting .378 in 22 games. ... Royals 1B Eric Hosmer has a strained right quadriceps and did not play. ... LHP Wade Miley will start Sunday for the Diamondbacks against Seattle.