PITTSBURGH – Rookie Zach Duke won his third consecutive start and Jason Bay went 3-for-4 with a homer on Thursday night as the Pittsburgh Pirates snapped a five-game losing streak with an 8-1 victory over the Colorado Rockies.

Duke (3-0) allowed eight hits, struck out five and walked four over seven innings. He had pitched 22 consecutive innings without allowing a run before the Rockies scored an unearned one in the sixth.

Bay followed Matt Lawton’s one-out single in the second inning with a homer to left, his 18th, to stake the Pirates to a 7-0 lead. Bay singled and scored in a five-run first for the Pirates, who had scored only 16 runs in their previous nine games.

Reds 9, Cubs 6

CINCINNATI – Greg Maddux came up short of the 3,000-strikeout mark, and a bullpen meltdown denied him his elusive first win at Great American Ball Park as well.

Roberto Novoa (2-3) balked home the tying run in the eighth, and Austin Kearns followed with a two-run single, rallying the Cincinnati Reds to a 9-6 victory over the Chicago Cubs.

Javier Valentin homered twice and Rich Aurilia had a solo shot, helping the Reds gain a split of their four-game series.

Brewers 12, Cardinals 7

ST. LOUIS – Geoff Jenkins had three hits and three RBIs to extend his hitting streak to a career-best 14 games, and the Milwaukee Brewers capitalized on shoddy defense in a 12-7 victory over the St. Louis Cardinals that earned them a four-game split.

The Brewers’ 14-hit attack that chased Jason Marquis in the fifth inning featured RBI singles from starter Chris Capuano and reliever Matt Wise, the latter coming on his first career hit. Milwaukee is 5-3 since the All-Star break after collapsing in the second half last year, and improved to 3-7 against the Cardinals.

Astros 3, Nationals 2

WASHINGTON – The Houston Astros’ rough start is a thing of the past, and the Washington Nationals are playing little like the team that had a strong first half.

Roy Oswalt threw eight shutout innings and delivered his first RBI of the season, part of an 11-hit attack that helped Houston beat Washington 3-2 for the Astros’ season-high fifth straight road victory.

Washington has lost 11 of 15, and it dropped into a first-place tie in the NL East with the idle Atlanta Braves. The Nationals led by 51/2 games on July 3.

Dodgers 1, Phillies 0

PHILADELPHIA – Odalis Perez took a no-hitter into the sixth inning and Jeff Kent drove in the only run in the first, leading the Los Angeles Dodgers over the Phillies 1-0.

Perez (5-5) completely stymied the Phillies, jamming left-handers all game with near-impeccable control. Making his fourth start since coming off the disabled list after missing 46 games because of soreness in his pitching shoulder, Perez was as sharp as he’s been all year, getting his changeup consistently over for strikes as he matched his longest outing of the season.

Perez went 15-10 in 2002 and pitched the only two shutouts of his eight-year career. There was no shutout against the Phillies, but there were five no-hit innings, something the left-hander is familiar with.

Mets 12, Padres 0

NEW YORK – David Wright singled and doubled during a seven-run sixth inning, and the New York Mets roughed up All-Star Jake Peavy in a 12-0 victory that completed a three-game sweep of the San Diego Padres.

The NL West-leading Padres lost their fourth in a row, one shy of their longest skid of the season.

Wright became the first member of the Mets to have two hits in an inning this season, and Kazuhisa Ishii (3-8) won at home for the first time since the Mets acquired him from Los Angeles during spring training.

Jose Reyes hit three singles, scored twice, drove in two runs and stole his 31st base, tying Atlanta’s Rafael Furcal for the league lead. Doug Mientkiewicz homered and drove in two runs and Ramon Castro hit a two-run homer for the Mets.

New York (49-46) moved three games over .500 for the first time since June 8.

American League

Blue Jays 6, Mariners 3

TORONTO – Josh Towers won for just the second time in his last 12 starts, and Shea Hillenbrand hit a three-run homer as the Toronto Blue Jays completed a three-game sweep of the Seattle Mariners with a 6-3 victory.

Reed Johnson also homered for the Blue Jays, who swept Seattle for the first time since June 6-8, 2004.

Towers (7-8) allowed three runs and five hits while striking out one and walking none in seven-plus innings, improving to 2-7 in his last 12 starts.

He allowed 27 hits over his previous three starts, but gave up just one in the first six innings against Seattle. Miguel Batista pitched 1 1-3 innings for his 17th save in 20 chances.

Seattle has lost five of seven to fall to an AL West-worst 41-53.

Indians 10, Royals 1

CLEVELAND – Jake Westbrook dodged danger for seven innings and got his first win in July, and Jhonny Peralta and Victor Martinez each hit three-run homers to lead the fading Cleveland Indians to a 10-1 win over the Kansas City Royals.

Westbrook (7-12) didn’t allow an earned run, scattered nine hits and worked out of several jams, only once retiring the Royals in order. He walked none and struck out five after entering 0-3 with a 6.57 ERA this month.

The Indians, who were 10 games over .500 on July 4 and in the thick of the playoff race, improved to just 3-11 since then by salvaging a split four-game series split against one of the AL’s worst teams. Peralta homered in the fourth off J.P. Howell (1-4) and Martinez capped Cleveland’s seven-run seventh – the club’s biggest inning since June 25 – with a shot off Leo Nunez.

Casey Blake added a solo homer for the Indians, who have been shut out three times since the All-Star break and hadn’t scored more than six runs since July 9.

Twins 10, Tigers 5

DETROIT – Bret Boone and Michael Cuddyer each drove in two runs, Joe Mauer scored three times and the Minnesota Twins beat the sloppy Detroit Tigers 10-5.

The Tigers, who had won nine of 13, committed four errors, and had three wild pitches and a balk to help Minnesota win its third straight. Johan Santana (9-5) won his second consecutive start, giving up three runs and nine hits in five innings, matching his shortest outing of the season – done two other times. He threw two wild pitches.

Jason Johnson (6-8) lost at home for just the second time in 11 starts.

, allowing eight runs – six earned – on 10 hits and a wild pitch in four-plus innings. The performance increased Johnson’s Comerica Park ERA from 1.95 to 2.58.

Minnesota went up 5-0 in the second with the help of two errors by Detroit.

Only subscribers are eligible to post comments. Please subscribe or to participate in the conversation. Here’s why.

Use the form below to reset your password. When you've submitted your account email, we will send an email with a reset code.