"We picked it up where we weren't doing it," Gordon said.
And, doing what he always seems to do, Joakim Soria notched his 28th save with a 1-2-3 ninth inning.
Greinke, who had not won since June 24, set a career high with 11 strikeouts in his 7 1/3 innings. He gave up seven hits, walked just one and hit a batter.
"We scored some runs early and gave me a nice cushion to attack hitters," Greinke said.
Early as in the first inning, when Mike Aviles is certainly known to make noise. His single off left-hander Dallas Braden gave Aviles a .467 (14-for-30) average in the first inning. According to the Elias Sports Bureau, which keeps track of such things, Aviles is the second-best in the Majors at first-inning batsmanship.
The leader is Scott Hairston of the Padres at 16-for-34 (.471). This is based on a minimum of 25 at-bats, not to mention the need to bat fairly high in the lineup.
After the second out of the inning, Guillen made a little noise himself. After going without a home run since June 23, Guillen lined Braden's first pitch over the 330-foot mark in right field for a two-run shot. He had gone 91 at-bats without a homer.
Guillen was back in the lineup despite missing Sunday's game with a sore left groin.
"That's what has happened all the time when I hurt my groin. I don't have too much movement in my leg, so I just used my hands and that's what I was doing today," Guillen said.
So Greinke had a 2-0 lead. He yielded a run in the A's fourth when Kurt Suzuki singled and raced home on Carlos Gonzalez's two-out double to right-center, as Guillen misfired on the throw in.
The lead jumped to 4-1 in the sixth when Gordon followed a walk to Billy Butler with a home run to left field. It was Gordon's first blast since July 1 with an interval of 77 at-bats.
Greinke got his 11th strikeout when he fanned Brooks Conrad to start the eighth. But that was the last out he got.
Eric Patterson, who had struck out three times, drew the first walk off Greinke. Suzuki and Ryan Sweeney each stroked singles to cut Royals' lead to 4-2. With that, Greinke was relieved by Ramon Ramirez.
Ramirez struck out Jack Cust and got Gonzalez to ground out. Once again, Ramirez had paved the way for Soria, who has become Mr. Automatic.
"I think of him that way," Ramirez said. "He's so unbelievable."
Greinke was the first Royals pitcher to strike out 11 since Blake Stein did so in 5 1/3 innings on June 17, 2001, at Milwaukee. Eight strikeouts were in succession, tying an American League record, but Stein lost the game, 5-2.
In another unusual move, Greinke enlivened the A's first inning by racing into foul territory to snatch Cust's pop to the third-base side.
"Zack was lights-out and gave up a couple of almost lucky hits a couple of times," Gordon said. "Other than that, he was good. He just needs to work on popups."
Greinke knew the infield was pulled toward right field with Cust batting.
"I know Gordon was playing [over in] shortstop. [Catcher John] Buck was looking the wrong direction, so I was like, 'Nice, here's a ball for me.' But it was higher than I was hoping, so it made it a little harder than I was expecting ... luckily I made the play," he said.
Zack was definitely back on track. In fact, manager Trey Hillman really thought Greinke had a good chance to pitch a complete game.
"I don't think he got tired, really," Hillman said. "You can't just look at the results, you've got to look at the base hits -- seeing-eye ground balls. I thought he still had enough in the gas tank to finish it up on a cool night."