KANSAS CITY, Mo. (TNS) — Royals outfielder Jorge Soler backed up to the Kauffman Stadium fence in right field as he watched a fly ball slice through the air on Wednesday afternoon.

The ball, hit by Mariners third baseman Kyle Seager, didn’t sound like it would carry beyond the warning track. Off the bat, it traveled with an exit velocity of 95.6 mph — not exactly a screamer. It had just a 14 percent chance of becoming a hit, according to MLB.com’s Statcast system.

Yet, as the ball approached the outer edges of the field, Soler jumped to make a play and came up empty.

Suddenly, the wind had pushed the ball the extra distance it needed to fall into the Royals bullpen for a two-run home run that traveled 374 feet. The hit, surrendered by reliever Justin Grimm in the eighth inning, made the difference in the Royals’ 4-2 loss to the Mariners.

“It sucks for my teammates, number one,” Grimm said. “I can get over it for myself but just for these guys, man, they tried to battle back the next inning. That was awesome to see. This hill’s on me.”

But on a day when few things went right for the Royals, it is perhaps unfair for Grimm to take all the blame.

Starter Danny Duffy struggled through a 36-pitch first inning in which he walked three batters and threw a wild pitch that allowed Mariners designated hitter Robinson Cano to score the game’s second run.

Before that, a foul ball popped up to the right side of home plate popped out of catcher Cam Gallagher's glove as he fell to his knees on the play. It cost him an error and what would have been the second out in a bases-loaded situation. Three pitches later, Seager hit a fly ball deep enough to right field to drive in Dee Gordon for the Mariners' first run.

Some time later, after Whit Merrifield drew a leadoff walk and advanced to third on Mike Moustakas’ single to right in the eighth inning, the next three Royals batters were retired in order.

In all, the Royals — who had tied the game 2-2 in the fourth inning on Paulo Orlando’s two-out, two-run double against Mariners starter James Paxton — went 1 for 11 with runners in scoring position. They tallied seven hits but stranded eight runners. They struck out 12 times, including 10 times against Paxton, who tied a career high when he fanned Orlando and stranded runners on first and third in the sixth inning.

“We weren’t really productive in that phase of our game,” manager Ned Yost said.

The Royals haven’t been particularly productive in that phase of the game all season. Their 31 runs in 10 games are tied for the 27th-lowest mark in baseball. Their .188 batting average with runners in scoring position is only better than four other teams.

And while Jon Jay, Merrifield and Moustakas have combined for 33 hits out of the top three spots in the Royals’ batting order, the remainder of the regular starting lineup has 32 hits altogether. (The figure uses Orlando’s stats instead of those for Alex Gordon, who was retroactively placed on the disabled list with a left hip labral tear on Tuesday.)

Offensive futility has spoiled recent performances from the starting rotation. Before rookie starter Eric Skoglund allowed five runs on Tuesday night, Duffy, Ian Kennedy, Jason Hammel and Jakob Junis had combined to shut out opponents for 23 2/3 innings dating to Duffy’s last start on Friday against the Indians, when he allowed three first-inning runs.

Such dominance from the starting rotation is arguably the brightest spot of the last week, during which the Royals have won two of six games.

“I think our starting pitchers have done a great job on days when they don’t have their best stuff, like Danny today,” Yost said. “They continue to compete through it and keep us in ballgames. It’s the best I’ve felt about a 3-7 start in my life.”

Despite having to work 3 2/3 innings on Wednesday, relievers pitched well, outside of Grimm’s mistake.

Brad Keller, the Rule 5 acquisition who had never pitched above Class AA until his major-league debut on March 29, continued to build on a stellar start to his rookie season when he induced a double play to clean up after Duffy in the sixth. He breezed through the seventh inning before turning the mound over to Grimm. Keller has allowed only two hits in four scoreless appearances.

And fellow rookie Tim Hill struck out two batters in a clean ninth inning.

After a 4-2 loss to the Seattle Mariners on Wednesday, Kansas City Royals manager Ned Yost says pitchers are throwing the ball well and feels good about how the staff keeps battling through innings. John Sleezer

“I have a lot of confidence in this squad,” Duffy said. “Our lineup’s nasty, our bullpen’s nasty, our starting staff has been really good.”

Duffy wasn’t nearly as optimistic about himself. After issuing his final walk in the first inning, an arm slot adjustment corrected the course of his outing and allowed him to mow down 13 of the next 14 batters on 53 pitches. He struck out seven Mariners.

But Duffy’s first-inning struggles continued for a second consecutive start, forcing Yost to reach into the bullpen when Duffy’s pitch count climbed to 101 in the sixth inning.

“You don’t get to subtract one inning from any outing,” Duffy said. “I’m way better than that. … I don’t expect to come out in the sixth. That’s not what I work for. I work to be someone who can give the bullpen a rest every time I go out and get the ball.”