PITTSBURGH -- Clint Hurdle isn't much for milestones. Still, the veteran manager knows there's something significant about being 10 games over .500 in July, and his Pittsburgh Pirates are there after a 2-0 win over Houston on Thursday night.
"It means we're not going to sneak up on anybody anymore," he said.
Given the way his streaking club is playing at the moment, it might not matter.
Jeff Karstens (2-2) scattered four hits over eight innings and the Pirates completed their first four-game home sweep of the Astros since 1979. The right-hander, making his third start since spending two months on the disabled list with shoulder inflammation and a hip flexor, struck out a season-high eight while walking just one.
"He was getting strike one, and with the arsenal he has he can take it a lot of places from there," Hurdle said.
At 46-36, the Pirates have their best record through 82 games since 1992.
"We're confident, not cocky," Hurdle said. "We've worked hard to get to this spot. We're making our way."
Houston managed four singles and didn't get a runner to third base until the ninth.
"It's a tough road trip for us," said Bud Norris, who dropped his fifth consecutive decision. "We're excited to go home. We've got three games before the (All-Star) break. It's a tough little stretch here but we've got to keep playing hard, keep battling and see what we can do."
While the Astros are struggling, the Pirates are rolling behind an offense that has been among the hottest in the National League over the last six weeks.
There were no such fireworks on Thursday, and Karstens didn't need them.
Deftly mixing his fastball with a curveball that followed orders, Karstens kept the Astros off balance all night. The right-hander threw 62 of his 89 pitches for strikes and looked an awful lot like the pitcher who spent the first half of the 2011 season among the NL leaders in ERA.
He tailed off as he piled up the innings last summer and his problematic shoulder raised eyebrows this year. He got knocked around by Philadelphia in his return from the DL on June 17 but followed that up with seven efficient innings in 99-degree heat against St. Louis last Saturday.
It was more of the same against the Astros. Hard-hit balls were scarce as Houston was shut out for the eighth time this season.
"It's just one of those things where you try to bear down and make pitch after pitch," Karstens said. "We were able to throw strikes when we had to."
The Pirates needed Karstens to be sharp after squandering a couple of opportunities to break the game open against Norris (5-6).
Jones and McGehee led off the second with back-to-back doubles to get the Pirates on the board but McGehee was stranded at third. Karstens started the third with his first hit of the season and the Pirates loaded the bases an inning later but could only muster Jones' sacrifice fly.
Another rally in the fifth was stopped short when Drew Sutton was picked off second, the kind of baserunning miscue that's been rare lately for baseball's biggest surprise.
"There are two kinds of people in this world, those who are humble and those who are about to be," Hurdle said. "We've still got work to do."
So do the Astros. Chris Johnson got the start at first in place of Lee and went 0 for 4. Third baseman Matt Dominguez, one of two players the Astros acquired for Lee, went hitless in two at-bats but was clean in the field.
"There's no doubt we want to reverse what's going on," manager Brad Mills said.
Mike McKenry started at catcher for Pittsburgh in place of Rod Barajas, who continues to deal with a knee issue ... The Astros called up reliever Enerio Del Rosario from Triple-A Oklahoma City to give the weary bullpen some help while sending left-handed starter Dallas Keuchel down for at least 10 days. ... The Pirates open a three-game series with San Francisco on Friday. Erik Bedard (4-9, 4.57 ERA) starts for Pittsburgh against Barry Zito (6-6, 3.84). ... The Astros return home Friday to play the Brewers. J.A. Happ (6-8, 4.81 ERA) faces Milwaukee's Yovani Gallardo (6-6, 3.87).