The Royals have won 18 of 22 to move 12 games above .500 for the first time since July 20, 2003.
Dyson lost Josh Reddick's fly ball in the sun in the sixth that gave Oakland two runs.
"I feel pretty good after redeeming myself," Dyson said. "I lost the ball in the sun, so I had to make up for it, pick the team up and pick myself up. It was redeem myself or walk off the field. Which one?"
The Royals took the season series, winning five of seven against the Athletics, who have the best record in the majors.
"We feel pretty good ourselves," Royals manager Ned Yost said. "I think every (starting) pitcher we faced on this homestand has been an All-Star and to take six out of seven is pretty good. I'm happy with where we're at."
Aoki's two-run triple put the Royals ahead 5-3. Butler's single scored Aoki and Alcides Escobar. Dyson fouled off four consecutive pitches before hitting an RBI single to right for the first run of the inning.
Right-hander Jeff Samardzija (3-2) took the loss, giving up four runs, three earned, and eight hits in 6 2/3 innings.
"It happened quick," Melvin said of Samardzjia's giving up two hits in the seventh.
"Pitch-count wise, he was great. He had good life on his splitter and his fastball was great."
He left with a 3-2 lead, but Ryan Cook failed to hold it, facing three batters and all scored. Cook's streak of 21 consecutive scoreless innings ended.
"They're capitalizing on mistakes right now," Cook said. "That's what a good ballclub does. I think we do that. They're a good ballclub that's also hot."
Aaron Crow (6-1), the third of six Kansas City pitchers, picked up the victory, retiring the only batter he faced.
The A's scored two runs in the sixth when Dyson lost Josh Reddick's high fly in the sun for a triple, which scored Stephen Vogt.
"I felt real bad cause we had the lead and they came back and snatched the lead from us," Dyson said.
Alberto Callaspo drove in two Oakland runs with a single and a sacrifice fly.
Athletics: RHP Jason Hammel will start the opener of a weekend series at Atlanta. The A's last played at Atlanta in 2008, losing two of three.
Royals: LHP Danny Duffy will start Friday at Minnesota, where the Royals have lost four of six this season. The Royals play their next nine on the road, all against clubs in last place in their division -- Minnesota, Colorado and Texas.
Athletics: SS Jed Lowrie was placed on the disabled list after the game with a broken right index finger. Lowrie, who injured it Aug. 4, returned to San Francisco to have his finger checked further.
Royals: 1B Eric Hosmer's MRI of his broken finger showed progress, but he still will not be allowed to swing a bat for at least another week.
Royals IF Christian Colon had his second three-hit game, including a double, stole his first base in the majors and scored a run. He is hitting .444 in five career starts.
The A's recalled IF Andy Parrino from Triple-A Sacramento, where he was hitting .286 with 28 extra-base hits and 52 RBIs in 90 games.