Dyson singled to center field, stole second base, despite the Astros pitching out, moved to third on a sacrifice and scored on Omar Infante's infield grounder.
"I don't think there are three players who could have scored on that play last night," manager Ned Yost said of Dyson scoring from third on Omar Infante's ground ball to shortstop. "He just outran the ball. He's got great speed, great baserunning instincts. He gets great reads off pitches and has great timing."
"I was trying to make up for my booted error [in the 10th inning]," Dyson said. "I ended up doing a great job behind my mistake."
Dyson faced Astros reliever Jerome Williams in the 11th inning.
"I thought they might be thinking about the bomb, so I tried to sneak a bunt in," he said. "That didn't work. So I had to swing it. I got a knock and a stolen base. I didn't realize they had pitched out until I got to third."
It was Cain's first hit of the season.
Dyson didn't realize that Cain had injured his groin trying to beat out a ground ball in the ninth inning.
"I came up here [to the clubhouse] to get loose," he said. "I was ready to pinch-run for whoever got on. I saw the play. I didn't know he was hurt. He went back out there for defense."
With Cain placed on the disabled list Thursday, Dyson will take over in center field.
"I'm just trying to fill that spot in until he gets back," Dyson said of Cain. "I just hope he gets back soon. I know its frustrating."
Dyson, 29, has been fighting to become a regular in the Royals' lineup since he arrived in Kansas City as a September callup in 2010. This is his opportunity.
Minute Maid Park is one of the most spacious center fields in the Major Leagues, plus players must deal with Tal's Hill.
"It ain't no problem," Dyson said. "The bigger the field, the more you get to use your speed.
"We're both speed guys, like to cover ground," Dyson said of himself and Cain. "It's in our favor. If I have to run up the hill and look stupid doing it, I'm going to give it a shot. We take balls everywhere in BP [batting practice]. We shag hard."
Dyson played in six of Kansas City's first 13 games, but has only five at-bats.
"I don't like it," he said of being a reserve. "Who likes to back up. I have to do what's best for the team right now and wait for my opportunity. I think I'm an everyday guy. I have to work hard and not worry about it. You can get mad, but I go out and cheer my teammates on. You've got to be ready. My goal is not to sit there and pout. I don't get down on myself. I've learned how to deal with it."