Geovany Soto hit a tying homer off Ryan Madson with one out in the ninth and Tyler Colvin scored from second on a throwing error in the 11th to lift the Chicago Cubs over the Philadelphia Phillies 4-3 Thursday night.
Colvin's go-ahead homer in the ninth was overturned by umpires after replays showed a fan wearing a Phillies T-shirt reached over the fence and interfered with the ball.
But the Cubs still won their second straight after losing eight in a row.
Sean Marshall (3-0) pitched two scoreless innings. Carlos Marmol worked the 11th for his 12th save in 16 chances.
Colvin snapped an 0-for-34 slump with his hit off Madson, who had been 14 for 14 in save chances before allowing Soto's tying solo homer.
After Soto connected, Colvin hit a drive to right-center. The ball hit off a male fan's hands and bounced into the crowd. Colvin circled the bases, but Phillies manager Charlie Manuel quickly came out to challenge the play. Umpires took several minutes to review it before ruling it a ground-rule double.
Strong winds and heavy rain stopped the game for 1 hour, 17 minutes in the bottom of the third. Neither starter returned when play resumed, and the teams used 12 relievers.
Colvin led off the 11th with a single off David Herndon (0-1). He advanced to second on a passed ball and stayed there until Darwin Barney hit a grounder to third with two outs. Placido Polanco's throw bounced and first baseman Ryan Howard couldn't catch it cleanly. Colvin never stopped running and scored without a throw home.
The NL East-leading Phillies took a 3-0 lead when Jimmy Rollins hit a three-run homer off Randy Wells in the second. Wells gave up three runs and three hits in 2 1-3 innings.
Philadelphia's Kyle Kendrick allowed two hits in three scoreless innings in his fourth start of the season. He's filling in for injured right-hander Joe Blanton.
Starting his first game since fouling a ball off his right knee last Saturday, Rollins put the Phillies ahead with his fourth homer. Raul Ibanez started the inning with a single. Dane Sardinha walked with one out. After Kendrick struck out trying to bunt, Rollins drove a 3-2 pitch into the right-field seats.
Cubs third baseman Aramis Ramirez saved at least one run with a diving grab on a grounder by Sardinha with the bases loaded to end the third.
Starlin Castro's RBI single in the sixth got Chicago within two. Barney walked with two outs and stole second base. Castro followed with a single to right off Danys Baez. Domonic Brown made a strong throw to the plate. But the ball took a tough hop and Sardinha dropped it or Castro likely would've been out by a few steps.
The Cubs cut it to 3-2 in the eighth on consecutive two-out doubles by Castro and Carlos Pena off Jose Contreras.