The game-ending hit was a roller through the left side of the infield off right-hander Eddie Bonine on a full count.
"I was just trying to take what I could get," said Kottaras, a left-handed hitter. "They were staying away from me the whole at-bat and I just tried hitting the other way. I knew there was a little space over there. I'm normally a pull hitter in general, but I stuck with it and tried to hit the ball on the ground."
Kottaras, who was the designated hitter, is battling with Brett Hayes for the backup catcher spot behind Salvador Perez.
"He's one of those guys that never has a panic at-bat," manager Ned Yost said. "He always stays within himself, he always knows what he wants to do, he has a great eye at the plate and he gives you a professional at-bat every time he steps in that box."
Paul Goldschmidt drove in four runs with three hits, including two doubles, and a sacrifice fly for the D-backs. The 3-for-3 afternoon raised his average to .412 (21-for-51) with 10 RBIs. Aaron Hill went 2-for-3 and reached base four times, scoring three runs.
Miguel Montero contributed a two-run homer, his first of the spring, in the D-backs' five-run seventh inning against reliever Tim Collins. Alfredo Marte's solo homer off J.C. Gutierrez pulled the D-backs even, 10-10, in the eighth.
The Royals are 20-6-1; the D-backs are 13-14-2.
D-backs starter Randall Delgado, competing for a rotation spot, left the game trailing, 6-4, after taking a line drive off his back. Jeff Francoeur's shot ricocheted high off Delgado's back and to first baseman Goldschmidt for the last out of the Royals' four-run fifth. Delgado appeared to be OK.
Delgado was tagged for three home runs, solo shots by Alex Gordon and Billy Butler in the first inning and a two-run blow by Elliot Johnson in the fifth. The homer was Gordon's fourth, matching Mike Moustakas for the team lead.
"I don't blame too much [on] the pitches, they were just putting good swings on them," Delgado said. "I can't control that."
Delgado walked three men in the fifth inning, all of whom came around to score.
"I respect those guys, so it was hard," Delgado said. "I was trying to pitch careful, but I ended up walking them. They are good hitters."
Ervin Santana, designated as the Royals' No. 2 starter, went six innings and gave up four runs (two earned) on seven hits.
Both runs in the D-backs' fifth were unearned. Third baseman Moustakas made a wild throw on Hill, immediately followed by a high fly by Eric Chavez that center fielder Lorenzo Cain lost in the sun. It fell for a triple, and Chavez scored on Goldschmidt's sacrifice fly for a 4-2 lead.
Up next for Royals: Royals right-hander Jeremy Guthrie, who'll draw the finale of the season-opening series at Chicago, will get a preview of the White Sox at 3:05 p.m. CT on Sunday at Camelback Ranch in Glendale, Ariz. Bullpen locks Kelvin Herrera and Aaron Crow also will pitch, along with bullpen candidates Francisley Bueno and Donnie Joseph, both left-handers. First baseman Eric Hosmer will be out of the lineup, testing his tender right quad in a Minor League game instead. Right-hander Dylan Axelrod, the temporary replacement for John Danks in the Chicago rotation, is the White Sox starter.