PITTSBURGH (AP) - Jeff Karstens allowed one run in seven-plus innings, Brandon Wood homered and Pittsburgh won its third consecutive game, 5-1 over Houston on Tuesday night.
Pittsburgh (45-41) improved to four games over .500 this late in a season for the first time since 1992, the team's most recent winning season before a major North American professional sports record 18 straight losing seasons.
The Pirates did not win their 45th game last season until Sept. 3.
Clint Barmes went 2 for 4 with a homer for Houston, which has lost five straight and 10 of 11.
Karstens (7-4) allowed seven hits and struck out three.
Matt Diaz had three hits and Neil Walker and Lyle Overbay two hits and two runs each for the Pirates, who have won four of five and 10 of 14.
Wandy Rodriguez (6-5) was charged with five runs, eight hits and two walks with six strikeouts in six innings.
Phillies 14, Marlins 2
MIAMI (AP) - Ryan Howard had four hits and four RBIs for Philadelphia.
Marlins manager Jack McKeon opted to walk Howard with a runner on first and the game tied 0-0 in the third. The Phillies scored five times in the inning and when the Marlins pitched to Howard an inning later, he hit his 18th homer.
Raul Ibanez hit his 10th homer and drove in four runs for the Phillies, who achieved season highs in runs and hits (18).
Cole Hamels (10-4) allowed two runs in eight innings to join teammate Roy Halladay as a 10-game winner.
The Phils, who have baseball's best record, are assured of winning their fifth consecutive series. They won for the 21st time in 25 games at Miami since September 2008.
Chris Volstad (4-8) gave up nine hits and seven runs in four innings. John Buck hit a two-run homer for Florida, his ninth.
Cardinals 8, Reds 1
ST. LOUIS (AP) - Matt Holliday homered twice hours after being picked to represent the National League in the Home Run Derby and Jaime Garcia had another stingy home outing for St. Louis.
Holliday totaled 77 homers the last three seasons and entered the game with just 10 in 62 games. He powered up against Edinson Volquez (5-4) with a solo shot in the first and three-run homer in the fifth for his 16th career multi-homer game and first since July 7, 2010, at Colorado.
The Cardinals activated Albert Pujols from the 15-day disabled list before the game but did not use him after putting the three-time NL MVP through an extensive pre-game workout.
Garcia (8-3) allowed one run and two hits in six innings and is 5-1 with a major league-best 0.94 ERA at home.
Holliday and Lance Berkman homered on consecutive at-bats in the first inning.
Berkman leads the league with 23 homers after a drive to right estimated at 452 feet, the longest at 6-year-old Busch Stadium.
The Reds have lost four of five and fell a game below .500 for the first time since May 3.
Nationals 3, Cubs 2
WASHINGTON (AP) - Second baseman Jeff Baker's incredibly wayward throw gave Washington two runs in the first inning, and Ross Detwiler won his season debut.
Baker was only 30 feet or so from second when he fielded a routine grounder with the bases loaded and no outs, but his throw sailed more than 10 feet wide of the bag and into left field. Instead of allowing one run on a double play, the Cubs were in a 2-0 hole that became 3-0 on Wilson Ramos' infield single.
That was just enough of a cushion for a Nationals cadre of pitchers that included Detwiler (1-0), recalled from Triple-A before the game because Washington needed an extra starter due to a recent doubleheader. Detwiler took a shutout into the sixth but was removed after giving up Aramis Ramirez's two-run homer.
Detwiler allowed four hits over 5 1-3 innings with one strikeout and no walks. The Cubs were shut out the rest of the way by Todd Coffey, Sean Burnett, Tyler Clippard and Drew Storen, who earned his 21st save.
Each of Washington's last nine wins has come by one run or in extra innings, and the club is 12-3 in one-run games since June 1.
Braves 5, Rockies 3
ATLANTA (AP) - Freddie Freeman's third homer in two games gave Atlanta the early lead and Derek Lowe hit a three-run double.
Freeman, who had two homers in Atlanta's 4-1 win on Monday, hit his 12th homer off Jhoulys Chacin in the second inning.
Lowe (5-6) gave up three runs and five hits in 5 1-3 innings and pushed the lead to 4-0 with his bases-loaded double in the fourth.
Dan Uggla added his 13th homer in the sixth.
The Rockies outhit the Braves 9-7 but had no extra-base hits as Carlos Gonzalez and Troy Tulowitzki were held out with injuries.
Craig Kimbrel pitched the ninth for his 26th save for the Braves, who have won seven of their last eight.
Chacin (8-6) matched his career high with six walks for the second time in his last three starts. He gave up four hits and four runs in five innings.
Diamondbacks 7, Brewers 3
MILWAUKEE (AP) - Arizona's Justin Upton homered after learning he had been snubbed for the Home Run Derby.
Gerardo Parra also homered for the Diamondbacks, who built a six-run lead early and improved to 3-2 on this 10-game road trip before hosting the All-Star game next Tuesday.
Zach Duke (2-3) tossed seven effective innings to win for the first time in 12 starts in Milwaukee and David Hernandez picked up his fifth save.
Milwaukee's Prince Fielder left off Upton - who has 14 homers - among his picks as NL derby captain. Fielder homered to raise his NL-best RBI total to 71 and Corey Hart hit his second homer in as many days.
Milwaukee has lost seven of eight since taking a three-game lead in the NL Central and has fallen behind St. Louis and Pittsburgh in the last two days.
Randy Wolf (6-6) gave up seven runs and 10 hits in six innings.
Mets 6, Dodgers 0
LOS ANGELES (AP) - Jason Bay homered twice and drove in four runs, Carlos Beltran also went deep and Mike Pelfrey stranded seven runners in scoring position through six gritty innings, leading New York.
Pelfrey (5-7) scattered five hits and escaped bases-loaded jams in the fourth and fifth.
Ted Lilly (5-9) gave up three runs and six hits in six innings after getting an extra day's rest because of a tender elbow.
Padres 5, Giants 3
SAN FRANCISCO (AP) - Cameron Maybin had three hits and three RBIs, Anthony Rizzo drove in two runs and San Diego beat San Francisco.
Maybin's triple highlighted a three-run sixth inning off Matt Cain that propelled the Padres past the NL West-leading Giants for the second straight day. San Diego has won seven of its last nine games and handed Cain (7-5) his first loss in more than a month.
Tim Stauffer (5-5) allowed three runs in six innings for his third straight victory. He allowed three hits and walked one.
Heath Bell allowed the potential tying runs to move into scoring position in the ninth before rallying to get his 26th save.