Pirates 2, Astros 0: Jeff Karstens threw eight scoreless innings and Garrett Jones and Casey McGehee drove in runs as Pittsburgh finished its first four-game sweep in more than six years.
The Pirates have won eight of their last nine after taking advantage of a visit from Houston, which dropped to 9-32 on the road - the worst mark in the majors.
Karstens (2-2) racked up a season-high eight strikeouts and allowed just four hits - all singles - and one walk to win his second straight start.
Joel Hanrahan worked around a pair of walks in the ninth for his 22nd save.
The Astros wasted a strong outing from Bud Norris (5-6) to lose their eighth straight overall and 10th in a row on the road. Norris allowed two runs on five hits and walked three in seven innings.
McGehee opened the scoring with an RBI double down the right-field line in the second and Jones added a sacrifice fly in the third for the Pirates, who last swept a four-game series from May 29-June 1, 2006.
GAME NOTEBOOK: Karstens has won his last four starts against Houston. … Houston 3B Matt Dominguez, who was acquired in the Carlos Lee trade with Miami on Wednesday, went 0-for-2 with a strikeout in his Astros debut. … Pirates 2B Neil Walker went 1-for-2 to extend his hitting streak to nine games. … The Astros have been shut out in Norris' past two starts.