Geovany Soto had three hits and two RBIs and Kerry Wood earned his first save in over a year as the Chicago Cubs won for the 12th time in 15 games with a 4-3 win over the Houston Astros Monday. Rodrigo Lopez (4-3) pitched an effective 5 1-3 innings, allowing two earned runs and the bullpen held on for Chicago. Wood's last save came on June 29, 2010 against Toronto while he was with Cleveland, but he had his club record tying streak of eight straight strikeouts dating back to Aug. 5 broken by Jason Michaels, who flew out to begin the ninth. Wood struck out the last two batters. Henry Sosa (0-2) allowed four runs on seven hits with six strikeouts in six innings for Houston, which has dropped seven in a row and 10 of their last 11. Braves 5, Giants 4: Freddie Freeman capped a three-run rally against San Francisco closer Brian Wilson in the ninth with a two-run single to lift the Atlanta Braves to a 5-4 win over the Giants. Wilson (6-4) couldn't hold a 4-2 lead. He gave up three hits and two walks in the ninth for his fifth blown save in 40 chances. Nate Schierholtz snapped a 2-2 tie with his homer to right in the sixth. Mike Fontenot, in the game when Pablo Sandoval left with a foot injury in the first inning, added an eighth-inning homer off Tim Hudson. The Braves rallied in the Giants' first return to Atlanta since beating Atlanta in the 2010 NL division series. The Braves stretched their lead to five games over San Francisco in the NL wild-card race. The Giants began the night two games behind first-place Arizona in the NL West. Brewers 3, Dodgers 0: Randy Wolf tossed eight effective innings and the Milwaukee Brewers turned a triple play as part of a superb defensive effort in a 3-0 victory over the Los Angeles Dodgers. Pirates 6, Cardinals 2: Ryan Doumit went 4 for 4 and hit a tiebreaking three-run home run to lift the Pittsburgh Pirates to a 6-2 victory over the St. Louis Cardinals. Elsewhere it was: Pittsburgh 6, St. Louis 2; Colorado 7, Florida 4; NY Mets 5, San Diego 4 (10 innings).