Marshall pitched out of a jam in the ninth inning, and Alfonso Soriano drove in Bobby Scales with the winning run after the Cubs had squandered a four-run lead to give Chicago a 5-4 victory over Houston on Saturday.
"I guess I kind of stole that one because Randy Wells pitched extremely well today," said Marshall, who ended the Astros' four-run rally by getting Lance Berkman to ground out.
Scales then drew a leadoff walk against LaTroy Hawkins in the ninth before Aaron Miles' sacrifice moved him into scoring position. Soriano singled to right off Hawkins (1-1), and Hunter Pence's throw to the plate was high, allowing Scales to score.
The rally came after Cubs closer Kevin Gregg couldn't hold a 4-0 lead and secure Wells his first career victory after pitching six scoreless innings.
Berkman and Lee hit back-to-back homers, and Ivan Rodriguez tied the game with a single to left before Marshall (2-2) got out of the ninth inning.
"It is gut wrenching. I felt like that ninth inning could have turned out a little differently than it did," Berkman said. "We probably should have come out of there with the lead. Then I think if you go onto the bottom of the ninth with a one-run lead, it's a different situation than if you go out there tied."
Rookie Micah Hoffpauir hit a two-run homer in the sixth for the Cubs, who won the opener of the rain-shortened, two-game series against Houston for their season-high fifth straight win.
"It was a very good win for us because we were winning the whole game," Soriano said.
Wells was impressive again in place of Cubs ace Carlos Zambrano, who is on the disabled list with a strained hamstring. Wells scattered four hits and three walks while striking out four in his second career start.
The 26-year-old right-hander escaped the second inning by getting Roy Oswalt to ground out with the bases loaded. Then in the third, with runners on first and second, Wells made a nice stop on Miguel Tejada's comebacker and flipped it to first to end the inning.
Wells allowed five hits and struck out five in five scoreless innings on May 8. The Cubs wasted that effort, too, losing 3-2 to Milwaukee.
His 15 1/3 scoreless innings is the longest streak to start a Cubs career since Jose Guzman threw 17 1/3 scoreless in 1993, according to the Elias Sports Bureau.
"It's nice to have some success and feel like you can contribute to the club. The way I look at it is it's an edge for me to go out there knowing that I've got to battle to stay here," Wells said. "I think I use that to my advantage to not get too comfortable and be on edge every time I go out there. I think it helps me focus a lot more."
Derrek Lee, who has been in and out of the lineup with a bulging disc in his neck, snapped an 0-for-9 slump with an RBI single in the sixth. Hoffpauir, who was playing in place of suspended outfielder Milton Bradley, connected on a 2-1 pitch for his fourth homer.
Geovany Soto added a run in the eighth with an RBI infield single.
Bradley served a one-game suspension for making contact with umpire Larry Vanover during an argument April 16. Bradley's suspension was reduced from two games by Major League Baseball on Thursday after Bradley appealed the suspension.
Oswalt allowed three runs and six hits for the Astros, striking out seven.
"I actually felt really well," Oswalt said. "It seemed like after I gave up the run, it kind of deflated me and I left a pitch up to [Hoffpauir]."
Zambrano is scheduled to pitch a rehab start for Class-A Daytona on Sunday. Cubs manager Lou Piniella said if the rehab start goes well he expects him to start Friday at San Diego. ... With Friday's rainout, Houston will skip RHP Felipe Paulino's turn in the starting rotation Sunday. Friday's scheduled starter Brian Moehler will start on an extra rest instead. ... Piniella said Marshall will start Thursday at St. Louis.