ST. PETERSBURG, Fla. -- Jordan Lyles hasn't had much to smile about this season.
That finally changed Saturday.
Lyles ended a 15-game winless streak and the lowly Kansas City Royals beat the Tampa Bay Rays 9-4 for their second victory in three days against the team with the best record in the majors.
"He had a big smile on his face when we came up the stairs [postgame]," Royals manager Matt Quatraro said. "The guys were ribbing him a little bit. He's got a lot of pride in what he does. He's handled himself tremendously well through this streak, so it feels really good for him."
Lyles (1-11) allowed four runs and eight hits over six innings. It was his first victory since his final start last year on Sept. 30 while playing for the Baltimore Orioles. The 15-game stretch marked the longest winless streak to begin a season in American or National League history, according to ESPN Stats & Information research.
"It feels really good," Lyles said. "Even more so just how well we played all the way around team-wise. Just a really good team all around win."
Drew Waters, Freddy Fermín and Edward Olivares homered for the Royals, who have MLB's second-worst record at 22-55.
Lyles retired his final eight batters before relievers Carlos Hernández worked a 1-2-3 seventh and Nick Wittgren went two perfect innings.
Tampa Bay (53-27) is 5-7 over its past 12 games including two losses to Oakland, which has the worst record in the major leagues.
"We're not firing on all cylinders right now," Rays manager Kevin Cash said. "I think we're in a tough stretch. Wins just haven't come easy for us. Today, give the Royals credit, they put it to us."
Rays shortstop Wander Franco returned after being benched for two games for how he was handled frustrating situations this season and hit a 417-foot solo homer during a two-run first. He added an RBI single in a two-run second.
Waters got his third homer, and second in three days, as the Royals scored three times in the third to make it 4-3.
Fermin hit a three-run homer off Yonny Chirinos (3-3) during a four-run fourth as the Royals rebounded to go up 7-4. Bobby Witt Jr. drove in his second run with a run-scoring double.
"Coming from behind was nice," Quatraro said. "Getting down four, things didn't look great. To keep adding on was a nice thing."
Nick Pratto made it 8-4 in the sixth on his second RBI grounder. Olivares went deep against Zack Littell in the eighth.
Chirinos allowed eight runs and nine hits in 5 1/3 innings.
The Associated Press contributed to this story.