Odorizzi has given up eight runs in two starts against Kansas City while allowing 15 runs in 13 starts against other teams.
"It's hard to give you an explanation why," Royals manager Ned Yost said. "We just swing the bats well off him."
Odorizzi (10-3) came in tied with Chicago White Sox pitcher Lucas Giolito for the major league lead in wins, but lasted just four innings. He gave up four runs and eight hits with one walk and two strikeouts.
"I think he had trouble getting comfortable in a couple of different ways," Rays manager Rocco Baldelli said. "He usually pitches pretty well with his fastball ... When he couldn't go to that to get the swings and misses, and really set up the rest of the at-bat, it became an issue.
"But he's been so good for us and throwing the ball so well for so long, that you know that at some point there's going to be a start or two like this along the way."
Glenn Sparkman (2-3) gave up just one run and five hits in a season high-tying seven innings, and Duda had two hits and scored a run to help the Royals win for the fourth time in five games.
"I just stayed with the plan, to stay low in the zone and attack those guys," Sparkman said. "I felt pretty strong (after seven innings). As long as I'm pushing the team pretty far I'm happy."
Jorge Polanco homered with one out in the first to put Minnesota ahead.
However, the Royals came right back in the bottom of the inning to take the lead. Whit Merrifield doubled and advanced to third on Nicky Lopez's single to left-center. Gordon then doubled to deep right-center to drive both runners in.
"(Odorizzi) kinda has that sneaky fastball (and) likes to throw it up in the zone," Gordon said. "He kinda blew it by me last game, so I just wanted to make sure I was on top of the fastball. ... I was able to fight off a couple good pitches and finally got one that I was able to hit and put a good swing on it."
With one out, Cheslor Cuthbert grounded to Odorizzi, who threw to third to get Gordon, but Willians Astudillo's errant throw to first allowed Cuthbert to advance to third. Cuthbert then scored on Duda's single to right that ended his 0-for-20 slump.
The Royals added another run in the fourth. Duda got his second single and advanced to second on a sacrifice bunt by Humberto Arteaga, who made his major league debut Thursday. Duda scored on a double by Martin Maldonado.
Odorizzi credited the Royals with a good game plan.
"They were aggressive," he said. "Put the balls in play, kind of the same as the last game. The balls that were put on the ground were kind of in that good spot. They were hitting the ball back up the middle, they weren't trying to do too much with it. ... They got on top of fastballs. They did what they needed to do."
Twins C Mitch Garver started Thursday's game but left after the seventh inning with left heel soreness. ... OF Byron Buxton is traveling with the club, though he's not eligible to return from the 10-day injured list until Tuesday. He went on the IL on Tuesday, retroactive to last Saturday, with a right wrist contusion.
Royals 3B Hunter Dozier finished a three-day rehab in Double-A Northwest Arkansas on Wednesday. He's been on the 10-day injured list since June 3 (retroactive to May 31) with a right oblique strain. He was expected to return to Kansas City on Thursday for the birth of his child. He's expected to head to Triple-A Omaha to continue the rehab through the weekend. Yost did not have an update on Dozier's status.
Twins recalled RHP Kohl Stewart from Triple-A Rochester and optioned RHP Sean Poppen to Rochester. The Twins played 17 innings against Boston on Tuesday. The Twins are near the end of a 13-day stretch without a day off. They'll be off June 24 following this four-game series.
Royals SS Adalberto Mondesi was placed on the 10-day IL with what Yost called a "very minor" right groin strain. Yost said it was more precautionary than anything. He was replaced on the roster by SS Arteaga from Triple-A Omaha. Arteaga, 25, is in his ninth season in the Royals' system since being signed as a 16-year-old non-drafted free agent in 2010.
More AP baseball coverage: www.apnews.com/MLB and www.twitter.com/AP-Sports
Buster's deadline deal of the day: Why Bucs should -- and shouldn't -- trade Felipe Vazquez
The All-Star closer might be the most coveted available player over the next 16 days. The Pirates should be prepared to do what it takes to close the right deal.
Remember the buzz about the Nats trading Mad Max? Ancient history
When D.C. was down in the dumps, it seemed Washington might actually deal ace Max Scherzer. Now that the Nats have climbed back into contention, though, expect them to buy, not sell.
Olney: Indians should trade Bauer, Hand
Buster Olney suggests the Indians should trade Trevor Bauer and Brad Hand for their value despite the fact it might upset their fans.
Streaking Angels hope to have Trout in lineup vs. Astros
Mike Trout could be back in the lineup as soon as Tuesday when the Los Angeles Angels play the Houston Astros in the second game of the four-game series in Anaheim, Calif.
Crawford, Giants aim for more offense vs. Rockies
History-making shortstop Brandon Crawford gets a crack at a struggling rookie pitcher when the San Francisco Giants and Colorado Rockies continue a four-game series on Tuesday night in Denver.
Cards, Pirates streaking in opposite directions
After tossing seven scoreless innings Sunday afternoon, Adam Wainwright dared his fellow St. Louis Cardinals starting pitchers to match his feat. On Monday, Miles Mikolas answered the call and raised the bar even higher.