ST. LOUIS -- The St. Louis Cardinals figured it was only a matter of time before someone lit the match on the figurative stick of dynamite their offense appeared to be in the preseason.

Aledmys Diaz was all too happy to fill the role on Saturday.

Enjoying the first multi-homer game of his short career, Diaz led St. Louis to a 10-4 rout of the Cincinnati Reds in sold-out Busch Stadium.

Authoring the 14th two-homer game by a Cardinals shortstop, Diaz jacked a solo shot off Bronson Arroyo in the first inning and then broke things open in the fourth with a three-run blast for a 6-1 advantage.

"It's a long season, so you can't be mad if you have a bad day," Diaz said. "You have to have the mindset that if you take good at-bats, you're going to be all right at the end of the day."

St. Louis (2-3) entered the day with a .188 average, nine runs and just one homer in its first four games. The team that led the National League in homers last year was one behind San Francisco Giants pitcher Madison Bumgarner.

Diaz changed that quickly. Arroyo (0-1) missed with a breaking pitch over the heart of the plate in the first and Diaz ripped it about 10 rows into the seats in left.

Three innings later, with pitcher Michael Wacha at second and Dexter Fowler at first, Diaz pounced on a full-count offering and lined it just inside the left-field foul pole. That ruined Arroyo's first big-league start since June 15, 2014, when he beat the Los Angeles Dodgers while toiling for Arizona.

Arroyo, who's missed the last two years with injuries, gave up six runs and six hits over four innings. He walked three and fanned three.

"It was a battle out there," he said. "It was a grind. I didn't get deep enough in the ballgame to make a difference. If you miss your spot, you're going to get hurt, especially as soft as I throw. Diaz hurt me; those were the two worst pitches I threw all day."

While Arroyo fought a losing battle with command, Wacha looked more like the pitcher who won four postseason games in 2013 and was a National League All-Star two years ago. In six innings, Wacha (1-0) gave up just one run on three hits, walking one and whiffing six.

Wacha was efficient for most of his outing, getting through the first and third innings with a combined 13 pitches. Aside from giving up an RBI double to Eugenio Suarez in the fourth, Wacha looked nothing like a fifth starter.

"I was able to establish the fastball down in the zone and then work the changeup off it," he said. "I got some swings and misses on it, and guys played great defense behind me."

The Cardinals made it a laugher in the sixth with three runs off reliever Robert Stephenson. Jose Martinez drew a bases-loaded walk and Jedd Gyorko, who reached base four times, dumped a two-run single into right for a 9-1 lead.

Stephenson had frightful difficulties finding the strike zone, walking six in 1 2/3 innings. Cincinnati pitchers issued 12 free passes, the most St. Louis has drawn in a game since May 22, 2011 and the most the Reds have allowed since a 16-inning game in 2009 in San Diego.

"I felt like we left some (runs) out there," Cardinals manager Mike Matheny said, noting his team left 12 men on base. "You want to take advantage of all the opportunities you can. But it was good to see our offense break out."

Scott Schebler belted a two-run homer for Cincinnati (3-2), which saw its three-game winning streak end. Suarez added a solo shot with two outs in the top of the ninth.

NOTES: To activate RHP Bronson Arroyo so that he could start on Saturday, Cincinnati optioned RHP Barrett Astin to Triple-A Louisville. Astin logged one-third of an inning on Opening Day. ... St. Louis RHP Trevor Rosenthal (right lat strain) threw live batting practice before Saturday's game and could be activated from the 10-day DL in time for the team's upcoming road trip to Washington and the New York Yankees. ... Reds C Devin Mesoraco (right hip) was scheduled to catch Saturday night in the second game of his rehab assignment for Double-A Pensacola. Mesoraco was 1-for-3 Thursday night.