Fowler bruised his left hip and ribs hauling in Soriano's sacrifice fly, an effort that left his teammates shaking their heads in the clubhouse.
"When I went and watched it on replay I can't believe he made the catch," closer Huston Street said.
"It goes beyond a game-saving catch, it's an unbelievable catch," manager Jim Tracy said. "He took a home run away or darn close to it and he had no opportunity to brace himself to break up the impact of the wall."
Fowler will have an MRI on Monday to determine the extent of the injury. Even if there are no breaks, he could miss some time.
"If he comes back and shows fluid and a good-size contusion he's a DL candidate," Rockies head trainer Keith Dugger said.
The Cubs had their own medical issues. Starter Carlos Silva left with an abnormal heart rate after facing four batters in the first inning.
Silva was taken to a Denver hospital, where he will stay overnight for observation. A club official said Silva "had everything under control on the way to the hospital."
"Whether it is at the altitude, I don't know," Cubs acting manager Alan Trammell said. "We saw something after [Jonathan] Herrera's at-bat when he backed off the mound. We thought something was wrong."
Fowler's catch helped squelch the Cubs' rally and make a winner out of starter Jorge De La Rosa, who pitched into the seventh inning to earn his first victory in three months.
But it was a tense ninth before Street nailed down Colorado's fourth straight win. Chicago scored three times before Street struck out Jeff Baker to end the game.
"The bottom line is we won," Street said. "When you walk off the field with a win, everything's fine."
De La Rosa (4-3) allowed three runs and eight hits in 6 2/3 innings to pick up his first win since April 25 against Florida. He also went 2 for 2 at the plate.
"I was working on my hitting," he said. "I think it helped."
Colorado scored four times in the third to take a 6-1 lead. Herrera hit an RBI single, De La Rosa and Fowler scored on first baseman Derrek Lee's throwing error and Troy Tulowitzki drove in a run with a groundout.
De La Rosa also singled in the fourth and his sacrifice in the fifth helped key a two-run rally against Carlos Zambrano, who made his second relief appearance since being activated from the restricted list Friday. Ian Stewart and Fowler had RBI singles in the inning.
The Cubs used five relievers after Silva (10-5) left.
"We had to go to the bullpen and piecemeal it together," Trammell said. "Zambrano came up to me and said I was available. That helped out."
"Having a game like this right away can give me confidence," DeWitt said. "It's a heck of way to make a first start."
Colorado built an 8-1 lead before the Cubs rallied. Lee's RBI single chased De La Rosa and Geovany Soto hit a run-scoring single off Manny Corpas before Marlon Byrd flew out with runners on the corners to end the inning.
Soriano hit a leadoff drive in the eighth for his 19th homer, cutting it to 8-4, and Byrd added a two-run triple in the ninth.
De La Rosa struck out five and walked two while improving to 1-1 with a 3.20 ERA in his last three starts, a step forward after spending a couple months on the disabled list with a torn left middle finger tendon.
Rockies RHP Aaron Cook was taken to a hospital for precautionary X-rays Saturday after fouling a ball off his left foot during batting practice. Tracy said everything was fine and Cook should make his scheduled start Tuesday against the Giants. ... Cubs manager Lou Piniella missed his second straight game to attend funeral services in Florida for his uncle. Trammell is managing the team in Piniella's absence.