ST. PETERSBURG, Fla. -- Wade Davis keeps winning against the AL's top starters.
"Davis was wonderful," Tampa Bay manager Joe Maddon said. "He had to pitch like that or we wouldn't have beaten that guy. Their guy was fabulous. He could have pitched 15 innings. He only had 80-some pitches."
Davis (3-1), the Rays' No. 5 starter, allowed three hits, three walks and struck out five in seven innings during his latest matchup with an American League ace. The right-hander has faced the opposing team's opening day starter -- including New York Yankees lefty CC Sabathia and Boston's Josh Beckett -- in all five of his starts this year.
"It's huge when you can beat a guy like [Greinke] that only gives up one run," Davis said.
Greinke (0-3) allowed four hits in his 10th career complete game and first this season. The 2009 AL Cy Young Award winner, who has yielded just three runs over 22 innings in his last three starts, struck out six and hit a batter with a pitch.
"By the end of the year things will even out like they always do," said Greinke, who has a 2.27 ERA over six starts.
Tampa Bay, which has won 15 of 19, split the four-game series with the Royals.
Longoria put the Rays ahead in the fourth with his sixth homer. He had been hitless in 10 at-bats against Greinke before a first-inning single.
"I think he probably just made the only mistake he made all game," Longoria said. "It was a slider out over the plate. He'd probably say the same thing. He pitched a heck of a game. Didn't really make too many mistakes to other guys. Sometimes it's that one pitch that you've got to capitalize on to win games like this."
Greinke threw 65 of 87 pitches for strikes and did not go to a three-ball count.
"A guy's got to be able to make one mistake," Royals manager Trey Hillman said. "It's tough. No run support once again for Zack. It's been a continuing theme this year. It's a shame."
Kansas City put a man on second in four innings against Davis, who worked out of trouble by holding the Royals to 0 for 9 with runners in scoring position.
"Bad at-bats," Hillman said. "Didn't make adjustments. Davis' stuff was real good, especially on right-handers. We weren't able to make adjustments against good stuff."
Greinke dropped to 0-4 in 10 games -- including seven starts -- against Tampa Bay. The Rays are the only AL opponent the right-hander has never beaten.
"Good-pitched game by both teams," Royals catcher Jason Kendall said.
All of Greinke's losses to Tampa Bay have come at Tropicana Field. ... Tampa Bay is 11-3 against Kansas City since the start of last season. ... Rays LF Carl Crawford was rested. He entered in the ninth as a defensive replacement. ... Royals SS Yuniesky Betancourt went 0 for 3 and is hitless in his last 19 at-bats. ... Longoria is 16 for 35 during a nine-game hitting streak. ... The Royals have lost their last five 1-0 games. ... The Rays went 6-3 during a nine-game homestand.