PITTSBURGH -- The Pittsburgh Pirates' patience with Jeff Locke is starting to pay off.
The left-hander pitched seven scoreless innings Sunday to win his fourth straight decision and Pedro Alvarez homered to lead the Pirates to a 1-0 victory over the Houston Astros 1-0 at PNC Park.
Locke (4-1) held the Astros to three hits while striking four and walking two. He has a 1.70 ERA in his last six starts, allowing seven runs in 37 innings.
Mark Melancon and Jason Grilli finished the shutout by pitching one perfect inning each. Grilli notched his National League-leading 17th save in as many opportunities.
Alvarez lined an opposite-field home run down the left-field line with one out in the fifth inning to account for the game's lone run and break up a no-hit bid by Lucas Harrell (3-5). It was Alvarez's eighth homer of the season.
Locke was a combined 1-6 with a 5.82 ERA in 12 games, including 10 starts, in parts of the last two seasons with the Pirates. However, the 25-year-old won a spot in the rotation during spring training and has not lost since his first start of the season April 7 against the Dodgers at Los Angeles.
Most impressively, Locke shut down an Astros team that came into the game hitting .287 against left-handed pitching. Locke also continued a fine string of pitching by Pirates starters as they have a 2.41 ERA in May.
Pittsburgh (26-18) won for the eighth time in its last 10 games while sending the Astros (12-32) to their eighth loss in their last 10 games.
Harrell was also sharp as he allowed just the one run and four hits in seven innings. He had three strikeouts and one walk.
It was quite a contract to Harrell's previous three starts in which he went 0-2 with an 8.79 ERA while giving up 14 runs and 13 walks in 14 1/3 innings.
Harrell was the only Houston player to get into scoring position when he led off the sixth with a walk and was bunted to second by Brandon Barnes. However, Harrell was stranded when Jose Altuve hit a comebacker to Locke and J.D. Martinez flied out.
The Pirates had a chance to add to their lead in the sixth when Travis Snider doubled but he was thrown at home by center fielder Brandon Barnes while trying to score on Gaby Sanchez's single.
NOTES: Pittsburgh CF Andrew McCutchen (right knee soreness) was a late scratch from the lineup. LF Starling Marte, originally scheduled to get just his second off day of the season, started in center field. ... Houston SS Ronny Cedeno (sinus infection) was in the original lineup but was replaced by SS Marwin Gonzalez. Cedeno was also sidelined the previous two games. ... Pirates RHP James McDonald (right shoulder inflammation) will make his first rehab start May 27 for Class AA Altoona. He has been on the disabled list since May 1. ... The Astros open a three-game series Monday night at home against the Kansas City Royals with LHP Dallas Kuechel (0-1, 4.82) facing RHP Jeremy Guthrie (5-1, 2.83). ... Pittsburgh is off Monday then begins a three-game home series Tuesday against the Chicago Cubs as LHP Wandy Rodriguez (4-2, 3.25) opposes RHP Matt Garza, who will be activated before the game after spending all season on the DL with a lat strain.