It left the Royals feeling good about themselves, even at the end of another losing season.

Zack Greinke combined with two pitchers on a three-hitter, Mike Aviles hit a three-run homer and Kansas City routed Seattle 12-0 on Thursday to complete its first four-game sweep of the Mariners in 19 years.

"The guys are having a lot of fun right now," manager Trey Hillman said. "It's an atmosphere we'd like to have around here all the time. There's just nothing better than a win. There's just no other way to say it."

Kansas City led 9-0 after four innings, roughing up Ryan Feierabend (1-4) on its way to its first four-game sweep of the Mariners since Aug. 17-20, 1989, in Seattle. It was the Royals' first four-game sweep of anyone since taking a home series against Detroit from Sept. 19-21, 2005.

Kansas City had at least 10 hits (13) for the sixth time during a seven-game winning streak, its longest since opening the 2003 season 9-0. Alberto Callaspo and Alex Gordon drove in two runs apiece, and Mark Teahen had two of his three hits in Kansas City's five-run fourth inning.

Still in last place in the AL Central, the Royals are enjoying this late-season run.

"It feels good, a different feeling than what we're used to," Greinke said. "It's nice to feel good about yourselves for once."

Greinke (12-10) has been one of the AL's best strikeout pitchers this season and got off to a great start. The right-hander struck out the side in the first inning, including Raul Ibanez to end it for his 500th career punchout.

Greinke added four more and didn't allow a runner past second base, giving up two hits before being replaced by Jimmy Gobble in the eighth inning. Joel Peralta worked the ninth, stranding Wladimir Balentien at first after a leadoff single.

"We all know what kind of stuff Zack's got, but you had a pretty good idea after the first inning that it had a chance to be a special day for him," Hillman said. "He was very good."

Seattle had just five baserunners, suffering its worst shutout loss since a 12-0 setback at Oakland on Sept. 21, 2003. The Mariners have been shut out 11 times this season, including twice during an eight-game losing streak, and have lost 10 straight on the road after being swept in consecutive series against the Royals and Angels.

"I really don't know what I can say - it kind of speaks for itself," manager Jim Riggleman said. "We didn't do anything against Greinke today and the second time through they got Ryan. That's pretty much the story."

Feierabend has had trouble pitching on the road in his short major league career, dropping to 0-9 with a 9.00 ERA in 13 games away from Seattle.

He gave up four runs in the third on David DeJesus' RBI single and Aviles' first homer in 172 at-bats, a three-run shot to left. Kansas City knocked around the left-hander again the next inning, loading the bases to set up Mitch Maier's two-run single to right.

Feierabend was lifted after that, charged with eight runs and six hits - the eighth straight road start he's failed to get past the fifth inning.

"I just fell behind in the count," Feierabend said. "The first two innings are how I wanted to start the game, but then I fell behind and the count and I couldn't get out of the hole."

Notes: Kansas City's Jose Guillen was 0-for-4, ending his career-high hitting streak at 14 games. ... Feierabend had his sixth pickoff of the season in the second inning, nabbing Teahen off first. ... Callaspo extended his hitting streak to a career-high 11 games with a two-run single in the fourth inning.

To report corrections and clarifications, contact Reader Editor Brent Jones. For publication consideration in the newspaper, send comments to letters@usatoday.com. Include name, phone number, city and state for verification.

Guidelines: You share in the USA TODAY community, so please keep your comments smart and civil. Don't attack other readers personally, and keep your language decent. Use the "Report Abuse" button to make a difference. Read more.