KANSAS CITY, Mo. -- Cardinals rookie Dakota Hudson kept quickly scraping through scoreless innings, even as his Royals counterpart was putting together a no-hit bid that was starting to set social media ablaze.
St. Louis eventually cracked Brad Keller in spectacular fashion.
Kansas City never did figure out Hudson.
The 24-year-old right-hander wound up throwing six innings of five-hit ball, and the Cardinals bullpen finished off a 6-0 victory Wednesday night for their second consecutive shutout of their cross-state rival and their eighth straight victory at Kauffman Stadium.
"This is a team with a lot of ability. It's a deep team with a ton of experience," said St. Louis manager Mike Shildt, whose team climbed back over the Chicago Cubs for first place in the NL Central.
Hudson (11-6) allowed runners to reach every inning but the third, but he kept his poise and continued to get timely double-plays, groundballs and fly outs. Hudson struck out five and walked two as the Cardinals won for the 13th time in his last 16 starts.
"He controlled a lot of counts," Shildt said. "He was very, very effective."
So was Keller (7-13), who issued three walks and was victimized by an early error but didn't allow a hit until Marcell Ozuna's sharp single leading off the seventh. It began a run of five consecutive base hits that not only knocked Keller from the game but ultimately resulted in a five-run frame.
"We kept our confidence," said Paul DeJong, who later homered off the Royals bullpen to become the first shortstop in Cardinals history with two 20-plus homer seasons. "It was now-or-never for us."
Keller never thought he was pitching particularly well.
"I was grinding to throw strikes. I wasn't putting the ball where I wanted to," he said. "I felt like my breaking ball hit the grass every time I threw it. I just let my nature take over."
The Royals, who were blanked 2-0 on Tuesday night, never got a runner past second base. Cheslor Cuthbert grounded out to strand two in the first, Nicky Lopez stranded runners in the second and fifth, and Bubba Starling grounded out to leave Ryan O'Hearn standing on second base in the fourth.
The Cardinals were following a similar roadmap until Ozuna's single in the seventh.
DeJong and Matt Carpenter followed with hits to send Keller to the showers, and Yadier Molina and Kolten Wong followed with singles of their own. By the time Randy Arozarena singled for his first major league hit and Dexter Fowler hit a sacrifice fly, the Cardinals had taken a 5-0 lead.
DeJong added his mammoth homer in the eighth inning to put an exclamation mark on the win.
"I had 19 last year," DeJong said. "I'd rather have had like, 16, but it's pretty amazing."
STATS AND STREAKS
Hudson has the most wins by a Cardinals rookie since Shelby Miller had 15 in 2013. The last time a rookie led the Cardinals in wins was Matt Morris (12) in 1997. ... St. Louis has seven shutouts this season. ... Kansas City is winless in its last six series. ... The Royals have not beaten the Cardinals at home since June 26, 2016. That was the last year they won the season series.
Arozarena's first major league hit came in strange fashion during the Cardinals' big inning. He cracked a liner that hit Molina as he was attempting to run from second to third, but the umpire ruled that the ball passed Lopez at shortstop and that resulted in a hit.
LOTS OF SQUATING
Molina passed Tony Pena for the seventh-most innings caught in major league history when the nine-time All-Star recorded the first out of the fourth inning. Molina has now caught 15,979 innings.
Cardinals outfielder Tyler O'Neill (left wrist strain) could return this weekend, Shildt said, after going on the injured list Aug. 1. "I don't want to guarantee it," he added. "It's a combination of pain tolerance and grip, getting the pain tolerance and inflammation down."
Royals left-hander Danny Duffy (left hamstring strain) threw a bullpen session Tuesday with another scheduled for Friday. "He'll do a four-inning sim game on Tuesday and evaluate after that," manager Ned Yost said. Duffy has been on the shelf since Aug. 4.
The Cardinals send Michael Wacha (6-5, 5.54 ERA) to the mound in the opener of a four-game series in Cincinnati on Thursday night. The Royals get the day off before Mike Montgomery starts against the New York Mets in the opener of a three-game set Friday night.
More AP MLB: https://apnews.com/MLB and https://twitter.com/AP-Sports
Twins-Indians opener postponed, doubleheader Saturday
The opener of a three-game AL Central showdown series between Minnesota and Cleveland has been postponed by rain.
Markakis makes sliding grab in return
In his return after missing 43 games, Nick Markakis makes a sliding catch in left field to deny Victor Robles of a hit.
Diamondbacks extend contract of GM Hazen
The Diamondbacks have extended the contract of general manager Mike Hazen, the team announced Friday. Hazen's name had been tied to the Red Sox, who are looking to replace recently fired Dave Dombrowski.
Mancini goes opposite field for 31st HR
Trey Mancini deposits a two-run homer into the right-center field bleachers for his 31st home run of the season.
Albies' homer just clears the wall
Ozzie Albies hits one deep to right field that he initially thinks is a double, before being ruled a solo home run.
Stewart clanks homer off foul pole
DJ Stewart pulls a high fly ball that bounces off the right-field foul pole for a two-run home run.