KANSAS CITY, Mo. Brad Keller pitched hitless ball into the sixth inning and extended his shutout streak, leading the Kansas City Royals over the Cincinnati Reds 4-0 Wednesday in the first game of a doubleheader

Keller (3-0) has won all of this starts this season after coming back from a positive test for COVID-19 and hasnt permitted a run in 17 2/3 innings.

Pitching in seven-inning game, Keller held the Reds without a hit until Tucker Barnhart looped a single into center field to begin the sixth.

Cincinnati played for the first time since Friday night. The Reds had home games against Pittsburgh called off Saturday and Sunday after a player tested positive for the virus, and the series opener at Kauffman Stadium was postponed Tuesday night while Major League Baseball did additional testing.

Keller gave up three hits, struck out five and walked Jesse Winker three times — his only walks in 6 2/3 innings. The 25-year-old righty exited with two on and Trevor Rosenthal retired the only batter he faced for his sixth save.

Keller missed the start of the regular season as he built up strength after his positive virus test during summer training. But once he was activated, he has been nearly flawless. He pitched five scoreless innings against the Chicago Cubs in his first start, followed by six shutout innings at Cincinnati in his last outing.

Luis Castillo (0-3) allowed three earned runs in 3 1/3 innings, striking out five.

The Royals scored three times in the first after leadoff man Whit Merrifield reached on first baseman Joey Vottos error. Jorge Soler hit an RBI double and Ryan OHearn snapped an 0-for-10 slump with a two-run single.

With the exception of Winker, who came into the game hitting .586 (17 for 29) in his last 10 games, no Reds player reached base until Barnharts single.

TRAINERS ROOM

Reds: Former Royals star Mike Moustakas returned to the lineup after being sidelined by a quad strain since Aug. 4. The infielder started the first game as the designated hitter.

Royals: C Salvador Perez was held out of the first game with recurring symptoms from fluid in his left eye. He missed Sundays game, but was in the starting lineup Monday in Minnesota. He came out of that game as blurry vision worsened. Hes listed as day-to-day.

ROSTER MOVES

The Reds placed CF Nick Senzel on the injured list for undisclosed reasons. He missed time earlier this year because of symptoms of COVID-19.

The Royals reinstated RHP Jesse Hahn from the Paternity List and designated him as 29th player for the doubleheader.

UP NEXT

Reds: Will send RHP Sonny Gray (4-1, 2.05 ERA) to the mound in the series opener Thursday in St. Louis. Hell be facing Adam Wainwright (2-0, 1.64) for the Cardinals.

Royals: Have Thursday off before starting a three-game series against the Minnesota Twins on Friday.