Ryan Vogelsong still owns the lowest ERA in the National League — barely — but that's about all the San Francisco Giants pitcher can take out of his latest start.

Stellar for more than three months during his remarkable breakout season, the All-Star right-hander matched his career-high of eight strikeouts but was otherwise flat in a 5-0 loss to the Pittsburgh Pirates on Monday night.

"I just didn't locate the pitches when I needed to with guys on base," said Vogelsong, who allowed three run-scoring hits with two outs. "It's something I've been doing pretty well all season. I just wasn't able to do it tonight.

The same could be said for the Giants' offense, except struggling with runners in scoring position has been a year-long problem for the defending World Series champs.

San Francisco squandered chances yet again, going 0 for 9 with runners in scoring position and grounding into inning-ending double plays in the fourth and fifth.

The Giants avoided a four-game sweep by the Phillies with a 3-1 win Sunday, but managed only three runs and 13 hits. They are batting .161 (20 for 124) over their last 18 games with runners in scoring position.

"When you're not scoring any runs, it's tough on the pitching staff. too," catcher Eli Whiteside said after San Francisco was blanked for the third time in nine games and 10th overall. "Trying to throw a shutout every night is tough. It's tough on the starters, it's tough on the bullpen. We just have to relax."

Charlie Morton and Jose Veras combined on a six-hitter, Ryan Ludwick had two RBI singles and the Pirates snapped their 10-game losing streak.

Garrett Jones doubled among his four hits and scored twice to help back Morton (9-6), who improved to 6-2 on the road this season.

The Pirates battered Vogelsong (9-2), who lost for the first time in 13 starts since May 26. He allowed nine hits in five innings and matched his season-high for strikeouts, which he also did in his first start of the season — at Pittsburgh on April 28.

Vogelsong's only other loss came the day after San Francisco lost its catcher and reigning NL rookie of the year Buster Posey to a season-ending broken leg on May 25.

"He was off but still, you have to put runs on the board," Giants manager Bruce Bochy said. "He's had so many great outings, he's going to have a hiccup every now and then. When they do, hopefully your offense is going to pick him up and we didn't. This has been going on for a while."

Vogelsong, the improbable All-Star and steady starter who replaced $126 million lefty Barry Zito in the rotation, had his career-best winning streak snapped at six straight decisions. He stayed put as the league ERA leader. Vogelsong owns a 2.48 mark, while Phillies ace Roy Halladay lowered his ERA to 2.51 in an outing against the Dodgers on Monday.

Still, San Francisco stayed a half-game ahead of Arizona in the NL West after the Diamondbacks lost 9-1 at home to Houston.

Nate Schierholtz hit a double and two singles for San Francisco playing in place of the injured Carlos Beltran, who had an MRI before the game on his injured right hand.

There weren't many other highlights from the home team.

Vogelsong struck out cleanup hitter Derek Lee three times but Ludwick did damage in the No. 5 hole coming off two hitless games. Neil Walker added an RBI double batting third.

Morton pitched eight sharp innings and Veras finished Pittsburgh's ninth shutout and sixth on the road.

It was good timing for Pittsburgh, which exactly two weeks earlier won at Atlanta and sat in first place in the NL Central. Before Monday's win, the Pirates had gone 1-12 since to fall into fourth in the division and 10 games behind the first-place Brewers.

The skid was the club's longest since dropping 12 straight from June 6-18 last year.

Giants ace Tim Lincecum reported no problems a day after Chase Utley's flying bat hit him in the right knee.

"Just a little bruise," the two-time NL Cy Young Award winner said.

Notes: Zito allowed three runs and seven hits, struck out seven and walked two in 7 2-3 innings of a rehab outing for Class-A San Jose. He threw 99 pitches, 70 for strikes. ... San Francisco RHP Ramon Ramirez and C Whiteside received only fines for their part in Friday night's benches-clearing brawl. Phillies CF Shane Victorino was suspended three games. ... LHP Madison Bumgarner (6-11, 3.71 ERA) makes his second career appearance vs. the Pirates on Tuesday night. He allowed one run and five hits over six innings April 27 in Pittsburgh.