Warning: Video contains disturbing scenes
Play was immediately halted after Almora's liner struck the child, who was sitting down the left-field line. Almora spent several moments down on a knee at home plate and appeared to be in tears as members of both teams looked on in shock.
The child was rushed up the stairs and out of the stadium within moments of being struck.
"He rips a line drive down the third-base line and it comes in and it looks like it hits someone hard," Astros fan David LeVasseur, who was seated next to the child, told Chandler Rome of the Houston Chronicle. "It bounces, comes down and hits the guy to my left off ricochet and the next thing you know it's at my feet. I pick it up and all we heard was screaming.
"We saw this dad pick up a child and run up the stairs. He took off running.
"I (came) upstairs and see the first-aid guys up there and the dad is holding the girl," LeVasseur added. "She (was) alert, she's conscious, she's fine. I was just going to give somebody in the family the ball. They kind of, naturally, shook it off. I asked the first-aid guy if she was OK and he said he didn't know."
A visibly shaken Almora remained in the game, and during a break spoke to and embraced a security guard while searching for an update.
"The young fan that was struck by a foul ball during tonight's game was taken to the hospital," the Astros said in a statement following the game. "We are not able to disclose any further details at this time. The Astros send our thoughts and prayers to the entire family."
Almora was on the verge of tears as he spoke to reporters postgame.
"As soon as I hit it the first person I locked eyes on was her," the outfielder said, according to Gordon Wittenmyer of the Chicago Sun-Times. "... I'm speechless.
"God willing I'll be able to have a relationship with that family the rest of my life."
Almora added that he had only received "unofficial" updates about the child's condition and did not want to provide any misinformation, according to ESPN's Jesse Rogers.