And he used it to his advantage.
"I know what he's got," Olivo said. "But I was not expecting he'd throw me a fastball in that situation. He usually throws sliders. But I was glad to see it."
Olivo's shot off Fulchino (2-3) ricocheted off the railing in center field and bounced back onto the field. It was his 11th homer and gave the Royals their second straight win after they broke a five-game losing streak with Tuesday's win in the series opener.
"It was a wild ride," Royals manager Trey Hillman said.
An error by Houston first baseman Lance Berkman and a call the Astros disputed -- the umpires had it right -- helped the Royals get the tying run in the ninth.
The Astros took a 2-1 lead into the ninth behind Jose Valverde. Mitch Maier reached on Berkman's one-out error and pinch-hitter Mike Jacobs followed with a deep drive. Left fielder Jason Michaels claimed he caught the ball, but replays showed it caromed off the wall into his glove.
Jacobs' single sent Maier to third, and David DeJesus' single made it 2-all.
"It went around where I couldn't see, but it was a heads up base-running play by Maier to go to third," Hillman said. "He saw it ricochet off the wall and the bullpen confirmed it. It definitely hit the wall."
Royals reliever Kyle Farnsworth was injured in the eighth inning on his third pitch. He released the ball and crumpled to the ground, clutching the top of his right leg. He hobbled off the field with help and was replaced by Jamey Wright. Team officials said Farnsworth had a right groin injury and would be evaluated Thursday.
The Astros trailed 1-0 before Darin Erstad's pinch-hit, two-run homer in the sixth.
Pinch-hitter Tug Hulett delivered an RBI single in the top of the sixth that broke a scoreless tie. It was his first hit of the season after going 0 for 11.
Houston starter Roy Oswalt allowed one run in six innings, striking out eight.
"I didn't really feel good on the mound as far as physically," he said. "I've thrown a lot of pitches in the last three games, 120, 130 and 105 tonight. That's about all I had."
Maier tried to stretch a triple into an inside-the-park home run in the third but was tagged out at the plater by a diving Rodriguez.
Maier's ball bounced deep in center field before Michael Bourn scooped it up and got it to second baseman Kazuo Matsui. Maier appeared to slow down as he approached third base, but third base coach Dave Owen waved him home. Matsui got the ball to Rodriguez who took a belly flop to get in front of Maier for the tag.
"I thought we had a shot [but] with no outs that's probably not the wisest play to make," Hillman said. "Visibly it was a tough play to call, but nobody felt worse than Dave."
Astros manager Cecil Cooper said this one was hard to take.
"This was definitely one of the more disappointing losses of the year," he said. "It was tough. They just outplayed us tonight."
- Royals CF Coco Crisp had successful surgery to repair a torn labrum. He will miss the remainder of the season and an exact timetable for his rehabilitation hasn't been set.
- Astros INF Geoff Blum, who has been on the DL since June 16 with a strained hamstring, will begin a rehab assignment with Triple-A Round Rock on Thursday. He will return to Houston on Saturday and should be ready to come off the DL on Sunday.
- Royals C John Buck traveled to Memphis on Wednesday to join Triple-A Omaha for a rehab assignment. Buck has been on the DL since May 31 with back problems. He is scheduled to play three innings to start and gradually work his way up to a full game before rejoining the Royals.