"He's done a great job of seizing an opportunity that he's been given," Royals manager Trey Hillman said. "I don't think there is a guy in the clubhouse that's not pulling for him. To do what he's done since the call-up, hit five balls out of the ballpark and take it out to center today, that's pretty impressive."
The Mariners are 0-6 to start an 11-game, three-city trip and have lost 10 of 13.
Shealy and DeJesus homered in a four-run fifth. DeJesus led off the inning with his first home run in 178 at-bats since a decisive shot in the ninth off Morrow on July 12.
Before the big inning, Morrow struck out Shealy in the second and fourth.
"He made me look silly in my first two at-bats," Shealy said. "I just wanted to get a pitch down. He was wearing me out with that fastball up and I was having trouble laying off of it. The one I hit was down a little bit more and I could get to it.
"I was really battling that at-bat. Fortunately, he supplied a lot of that power. I was really just trying to get the runner over to third, but it worked out way better."
Shealy, who is hitting .371 with 11 RBIs in nine games, knows a big September could help secure a job next April.
"It's huge," he said. "I've been trying to work my way back up here. It's been great. Hopefully, I'll keep it going."
Morrow, who held the New York Yankees hitless for 7 2/3 innings in his first big league start Sept. 5, faced four batters in the fifth and retired none. Morrow (2-4) gave up six runs and eight hits.
"I was really poor mechanically," he said. "All my momentum was going to my left instead of going to the plate. Everything was dying. I knew it was going on during the game, but it's kind of hard to make adjustments. Things just weren't happening for me. It was just one to forget tonight."
Alberto Callaspo, who tripled in the fifth and has a career-high 10-game hitting streak, scored on Aviles' single for the other Kansas City run in the inning.
Buck, who hadn't homered since July 29, led off the third with his ninth homer. He also had a run-scoring single in the fourth.
"I just told myself, stay short to it, he throws hard," Buck said.
Brandon Duckworth (3-1) went six innings, allowing two runs and five hits for the win.
"My fastball was moving everywhere," Duckworth said. "Anytime I tried to make an adjustment, it would either go a little farther down or sail on me. Predictably, I'll get more groundouts than flyouts, but being in a big ballpark, thankfully, we got a lot of flyouts."
"Duckworth did a good job," Mariners manager Jim Riggleman said. "He mixed his breaking ball. He had us chasing some balls."
Lopez doubled and scored on Reed's single to start the ninth off Ramon Ramirez, the fourth of five Kansas City pitchers. Joakim Soria replaced Ramirez and got three outs for his 39th save in 42 opportunities.
Ichiro Suzuki had an infield single in the Seattle third for his 197th hit. He needs three hits to reach 200 for the eighth straight year, which would tie a big league record. Hall of Famer Willie Keeler did it from 1894-1901.
When Duckworth struck out Wladimir Balentien to end the sixth, it was the Royals' 1,007th strikeout of the season, a franchise record. The 1990 Royals pitching staff held the mark with 1,006.