A leadoff third-inning homer off the bat of Royals right fielder Jorge Bonifacio -- his second home run of the spring -- was the only blemish for Walker, who allowed four hits, struck out four and walked none.
It was his fourth outing of the spring. Previously, he allowed 12 hits and six earned runs in 8 1/3 innings.
"It felt a lot better," Walker said. "I was getting ahead of the hitters. I felt like my fastball and changeup was there. My cutter is close. And my curveball is getting there. Hopefully, my next start will be six or seven innings. I should be good to go."
The Mariners scored three times in the first inning against Royals starter Matt Strahm, who also allowed four hits, walked one, struck out three and hit a batter in his three innings of work. Kyle Seager and Seth Smith had run-scoring singles, and Jesus Montero drove in the third run of the inning with a double. Kansas City scored four runs in the eighth to pull ahead.
"I thought [Bonifacio] had another great day. A home run and another big hit," Royals bench coach Don Wakamatsu said. "The kids late in the ballgame rallied. Just a nice job of the pitching coming back and the guys coming back from a deficit, battling from behind to get the win."
It was split-squad action for both teams on Saturday, with a large group of the Royals in San Antonio to play the Rangers (they lost, 13-6) and the Mariners also staging a night game at Peoria Stadium against the D-backs.
Up next for the Mariners: The Mariners face the Indians on Sunday at 1:10 p.m. PT at the Peoria Sports Complex as Wade Miley makes his third start of the spring (watch on MLB.TV). He allowed three runs in three innings his last time out to the Cubs. Closer Steve Cishek is also scheduled to pitch. He hasn't allowed a run in three innings.
Up next for the Royals: After two days of split-squad games, the Royals gather together again as a group on Sunday and play the Cubs at Sloan Park in a 3:05 p.m. CT start (watch on MLB.TV). It's Ian Kennedy for the Royals against Jon Lester for the Cubs. Kansas City will have an off-day on Monday before embarking on the final 12 games of the spring schedule.