Robert Edwards-USA TODAY Sports

It took awhile, but Brad Keller finally put it all together.

The Kansas City Royals right-hander threw seven shutout innings, allowing just one hit and three walks, as the Royals defeated the Oakland Athletics 2-0 on June 18 in Oakland.

The Royals will host the A's on Saturday in the second game of a three-game series, and Keller will look for an encore.

Keller (2-8, 4.30 ERA) will oppose A's lefty Jared Koenig (1-2, 6.59), who was just as good as Keller in his last start against the Royals on Sunday. Saturday's game will be a chance for Keller and Koenig to prove their most recent outings were not flukes.

The Royals will go for their third straight series win as they took the opening game of the series 3-1 Friday night. Edward Olivares hit a pair of home runs in his first game since going on the injured list on May 9. Zack Greinke also returned from the injured list and allowed just one run on three hits in six innings to pick up his first win of the season.

Keller's win-loss record is deceiving. His ERA has not been above 4.74 all season, and his most recent start was his seventh quality start among his 13 this season. The Royals have scored four runs or less in six of his eight losses.

But against the A's, he was as good as he's been in a couple of seasons. He didn't allow a hit until there were two outs in the sixth inning.

"I didn't even notice it was happening until going out there for that inning," Keller said of his blooming no-hitter. "I didn't put too much thought into it. I was just trying to get deep in the ballgame, keep putting up zeros. Their starter (Cole Irvin) was putting up zeros, so just try to match him as much as I could."

Keller's big game was because of trust, manager Mike Matheny said.

"He's trusting the movement," Matheny said. "We talk about that a lot, making quality pitches, and not throwing it in the heart of the plate. It's using the movement he had, both ways. Changeup was good, hard and late. Slider was swing and miss. Kept the ball on the ground and let guys make plays for him."

The win was Keller's first against Oakland, improving his record to 1-1 with a 4.61 ERA in three starts.

The day after Keller's outing, Koenig earned his first major-league win with 5 2/3 scoreless innings, helping the A's avoid a three-game sweep. Koenig allowed two hits and four walks.

"It's special to do it on Father's Day," said Koenig, a 28-year-old rookie who grew up just 75 miles south of Oakland in Aptos, Calif. His father, Greg, was in attendance.

"I'm happy he was able to be here. I'm sure he was nervous as can be, too. He's a nervous wreck when it comes to that. It's awesome to have that support and be able to (get my first win) today of all days."

He used a five-pitch mix that resulted in plenty of weak contact by Royals hitters. The average exit velocity of the 20 balls Kansas City put in play against Koenig was just 86.2 mph.

"His stuff (Sunday) was exactly who he's been described as," A's manager Mark Kotsay said. "His sinker, he used a lot today. Pitching into the zone with the sinker and getting early-contact outs."

More must-reads:

TODAY'S BEST
Suns fill out Mike Budenholzer's coaching staff
Timberwolves boycotted TNT in support of criticized bigs
Watch: Oilers offense responds after big hit on Corey Perry
Pistons parting ways with GM after hiring new head of ops
Seahawks WR doesn’t hold back on praise for QB Sam Howell
Report: Cowboys quietly 'all in' on Dak Prescott decision
Mike Tyson-Jake Paul fight temporarily postponed
Diamondbacks ace heading to injured list with hamstring strain
Golden Knights, key winger have mutual interest but face financial crunch
Caitlin Clark frustrated by physical WNBA play: 'I feel like I'm getting hammered'
Pelicans to defer Lakers' first-rounder to 2025
Former top-10 WR pick speaks on retirement regret, comeback try
Orioles lose two starting pitchers to season-ending surgeries
Cavaliers to interview Knicks, Heat assistants for HC opening
Cowboys RB trying out new position during OTAs
Lions sign second-round cornerback
Why Timberwolves players skipped TNT interview after Game 4
Yankees' Aaron Judge, Juan Soto make MLB history with impressive offensive numbers
Guardians designate once-vaunted outfielder for assignment
Inside source shares telling comment about Juan Soto's feelings on Mets