ST. LOUIS (AP) — Miles Mikolas pitched eight shutout innings, Nolan Arenado hit an RBI double and Nolan Gorman drove in a run with a sacrifice fly as the St. Louis Cardinals defeated the Kansas City Royals 2-1 on Tuesday night to split the two-game set between the I-70 rivals.

Mikolas (4-1) matched a career high with 10 strikeouts and allowed three hits. The strikeout total matched the 34-year-old right-hander’s effort against Milwaukee in 2019.

The Cardinals needed a defensive gem in the fourth inning to keep the game scoreless. With two outs and MJ Melendez on second, Michael Massey singled to right. Brendan Donovan threw a strike to the plate and Willson Contreras applied the tag to Melendez.

Gionvanny Gallegos replaced Mikolas in the ninth and gave up a double and single to start the inning. Vinnie Pasquantino scored on a fielder’s choice by Bobby Witt Jr., cutting the deficit to a run. Gallegos went on to retire the next two hitters and record his seventh save.

The Cardinals got a run in the sixth with two outs against Carlos Hernández (0-2). Paul Goldschmidt reached first on an infield single. Arenado hit a run-scoring double to left-center. Arenado has a team-high 18 RBIs in interleague play this season.

St. Louis extended its lead to 2-0 in the eighth Gorman’s sac fly off Aroldis Chapman, scoring Tommy Edman.

Zack Greinke started for the Royals, but didn’t figure in the decision. He pitched five scoreless innings, allowing two hits and a walk, with six strikeouts. He ranks first in starts (526) and innings pitched (3,309 1/3), second in wins (224) and third in strikeouts (2,929) among active pitchers.