SURPRISE, Ariz. — The San Diego Padres received contributions from across their spring training roster Saturday, pounding out 18 hits in a 10-3 victory over the Kansas City Royals at Surprise Stadium.

While Freddy Fermin and Ramón Laureano each doubled, much of the offensive damage came from minor leaguers and players in camp on minor-league contracts as roster battles intensified in Cactus League play.

Jose Miranda continued to make a strong early impression. The non-roster invitee, who spent the past four seasons with the Twins, followed a home run and double in Friday’s opener by going 3-for-3 with a double Saturday. Miranda consistently barreled balls to the gaps and has quickly positioned himself as a player to watch this spring.

Nick Solak added a home run off Royals right-hander Jonathan Heasley, an MLB veteran in Kansas City’s camp on a minor-league deal. Solak, a 31-year-old infielder with nearly 1,000 major league plate appearances, is also in Padres camp on a minor-league contract and fighting for a bench role.

Carlos Rodríguez went 2-for-3, while Jase Bowen singled, stole a base and scored. Bowen, who posted an .870 OPS in the Triple-A International League last season in the Pirates organization before signing with San Diego this winter, also flashed his defense by tracking down a deep fly ball and making an over-the-shoulder catch at the wall in left field.

Samad Taylor, who has appeared in 38 big-league games over the past three seasons, went 2-for-2 with a double. Top prospect Ethan Salas drove in a run with an infield single, and Mason McCoy tripled, reached on catcher’s interference and drove in a run by beating out a double-play attempt as the Padres built steady offensive momentum.

On the mound, right-hander Matt Waldron worked two scoreless innings in just 24 pitches. Competing for one of the final rotation spots, Waldron allowed one hit, walked one and struck out two.

Ron Marinaccio tossed a 1-2-3 third inning in 15 pitches, strengthening his case for what could be a lone available bullpen spot. Marinaccio cannot be optioned and would need to make the roster or pass through waivers. Alek Jacob relieved Miguel Mendez with the bases loaded in the fifth and escaped further trouble after striking out one, though he hit a batter and issued a walk.

Mendez, the Padres’ third-ranked pitching prospect, delivered a scoreless fourth inning, aided by Fermin throwing out Bobby Witt Jr. attempting to steal second base. Mendez ran into trouble in the fifth after two walks and a double before exiting.

Bradgley Rodriguez added a scoreless seventh, allowing only an infield single.

Royals right-hander Ryan Bergert started the game and ended the first inning by inducing a groundout from Fermin — the catcher for whom Bergert and Stephen Kolek were traded at last season’s deadline.

Fermin also successfully challenged a ball call in the second inning, keeping the Padres perfect on three Automated Ball-Strike challenges through two spring games.

The Padres’ blend of veterans, prospects and non-roster invitees provided plenty of energy as they improved to 2-0 in Cactus League play, continuing early evaluations that will shape roster decisions in the weeks ahead.