Both Grienke (1-4) and Olivares were activated from rehab assignments on Friday.
After missing 43 games with a right quad strain, Olivares belted homers to left field in his first two at-bats - in the third and fifth innings - for his first career multi-homer game.
''I was super excited,'' Olivares said. ''I had been waiting for this day for a long time. I'm here and happy to contribute.''
Greinke allowed one run on three hits with four strikeouts in his first start since May 29, his longest outing since May 5 against St. Louis and the first win in his second stint with Kansas City.
''Zack has been so good on his rehabs, you can tell that he is pitching better and comes out there and just pounds the zone with everything,'' Royals manager Mike Matheny said. ''He was really efficient working ahead in the count and just making him trust the defense. There was a lot of first-pitch swinging going on. He had a really good tempo and came right at them. I was happy for Zack to lead the way for us and get the win.''
Greinke sat down the first nine batters before Tony Kemp hit a leadoff single in the fourth. Seth Brown hit a two-out RBI single that scored Kemp.
''That is Zack at his best,'' A's manager Mark Kotsay said. ''He is a master at his craft and knows how to set pitches up, use the strike zone well, keep the ball down and that is what he does and he did it well tonight.''
Royals relievers Dylan Coleman and Jose Cuas each held the A's scoreless in an inning. Scott Barlow earned his ninth save of the season.
Carlos Santana added some insurance with an RBI single in the sixth.
Cole Irvin (2-5) gave up three runs on seven hits in 5 1/3 innings, with four strikeouts and a season-high three walks.
''It was another good outing for Irvin,'' Kotsay said. ''It was one hitter who was the result of two home runs. He pitched well and efficient.''
Seth Brown and Sean Murphy each had two-hit games for the A's, who lost the opening game of a series for the 10th straight time.
Royals: Kansas City announced that C Salvador Perez had surgery to repair the ulnar collateral ligament in his left thumb and was placed on the 10-day injured list. Olivares was activated in the corresponding move. The Royals also moved LHP Daniel Lynch (left index finger blister) on the 15-day injured list and activated Greinke.
Jared Koenig (1-2, 6.59 ERA) will pitch for Oakland in a Saturday matinee. Brad Keller (2-8, 4.30 ERA) will counter for Kansas City.
More AP baseball: https://apnews.com/hub/MLB and https://twitter.com/AP-Sports
Copyright 2022 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.