Brandon Crawford, who belted a grand slam off Volquez in the Wild Card rout, singled to open San Francisco's second inning. He scored on a triple by Adam Duvall, who came home on Juan Perez's single. Run-scoring hits by Gregor Blanco, a double, and Joe Panik, a single, completed the uprising.
Volquez, who entered the game with a 9.72 ERA, struggled again, giving up four runs, seven hits and four walks through four-plus innings.
"I just threw a lot of bad pitches today," Volquez said. "I threw some strikes, got ahead in the count and then couldn't finish the hitters off."
Volquez, who relies heavily on his changeup and curve, said both were not good.
"My breaking stuff was bad," he said, shaking his head.
Manager Ned Yost disagreed with Volquez's assessment.
"I thought he threw the ball much better today," Yost said. "He had good command of his fastball down in the zone and good command of his breaking ball down in the zone."
Volquez said he expects to be fine by the regular season.
"I've got two weeks left," he said. "I feel good. I'll be OK."
The Royals, who opened the scoring in the second inning on Alex Rios' RBI double, narrowed the difference to 4-3 on Omar Infante's two-run double in the fifth.
Daniel Carbonell, recently sent to Minor League camp, homered off Luke Hochevar to lead off the Giants' seventh and added an RBI single off Ryan Madson in the Giants' three-run eighth.
Right-hander Jake Peavy became the first Giants starter to pitch five innings in back-to-back outings. He surrendered three runs along with seven hits.
Royals Up Next: The Royals will have an off-day Tuesday before hosting the White Sox on Wednesday in a 6:05 p.m. CT start at Surprise Stadium. Left-hander Jason Vargas will get the start for the Royals, followed by Louis Coleman, Michael Mariot and Yohan Pino. The game can be seen on MLB.TV and heard on Gameday Audio.