Soriano propels Chicago

? Thanks to a rule change, Alfonso Soriano’s hitting and Jason Marquis’ pitching, the Chicago Cubs needed only 12 innings to get two wins in one day.

Marquis limited the Pirates to four hits over eight innings to win his fourth consecutive start, and Soriano homered for the second time in two days after not connecting all season, leading Chicago to a 7-1 victory over the Pittsburgh Pirates on Wednesday.

A half hour before that game started, the Cubs completed an 8-6 win in a game suspended by a persistent rain with Chicago ahead, 6-5, in the middle of the seventh Tuesday night. Soriano, the $136 million free agent, led off that game with his first Cubs homer and Cliff Floyd’s two-run shot off Jonah Bayliss (2-2) keyed a four-run rally just before the rain came.

Chicago manager Lou Piniella has been expecting Soriano to break out, and he did so in a big way in Pittsburgh. Soriano was 8-for-15 in the three-game series with homers in each of the final two games, including a go-ahead drive Wednesday in the third inning off Ian Snell (2-2) that made it 2-1.

Braves 4, Phillies 3

Atlanta – Chipper Jones kept up his torrid hitting with a two-run double, and the Atlanta bullpen shut down Philadelphia over the final four innings.

Giants 5, Rockies 3

San Francisco – Barry Bonds hit career home run No. 743. Then in the eighth inning, he lined a go-ahead two-run single to right with the bases loaded.

Padres 7, Nationals 3

San Diego – Matt Chico couldn’t get out of the fourth inning after allowing five runs. Shortly before Chico imploded, the Padres lost their starter, Clay Hensley, because of a strained groin.

Astros 3, Reds 1

Houston – Roy Oswalt pitched eight stellar innings, and rookie Hunter Pence collected his first career RBI to lead Houston. Oswalt (4-2) allowed four hits.

Dodgers 2, Diamondbacks 1

Los Angeles – Mark Hendrickson allowed three hits over six-plus innings, and Juan Pierre singled home a run after a costly error by rookie center fielder Chris Young. Hendrickson (2-0) struck out seven, walked one and allowed only one runner as far as second base.

Mets 6, Marlins 3

New York – Oliver Perez struck out a season-high 10 and singled twice to start New York rallies, helping the Mets beat Florida to avoid a three-game sweep. Jose Reyes scored two runs and Endy Chavez had two RBIs. Perez went 2-for-2 at the plate with a sacrifice bunt and scored twice.

Brewers 4, Cardinals 0

Milwaukee – Carlos Villanueva pitched four scoreless innings of relief for injured starter Chris Capuano.