Updated

Clint Hurdle exhaled and enjoyed a quiet moment after finishing up his postgame duties with the press corps.

"It beats the heck out of losing," the Pittsburgh skipper said with a smile.

His Pirates were winners again, for a night anyway. They pitched. They played solid defense. They produced the timely hits that had been missing during this skid.

And they did it against the defending World Series champions with a sellout crowd cheering against them.

Charlie Morton and Jose Veras combined on a six-hitter, Ryan Ludwick hit a pair of RBI singles and Pittsburgh snapped a 10-game losing streak with a 5-0 win over the slumping San Francisco Giants on Monday night.

"All in all, it was one of the better games we've had the last couple weeks," Hurdle said. "It's a good start. It's all we could do tonight to go play a complete ballgame."

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 Giants All-Star Ryan Vogelsong (9-2), who lost for the first time in 13 starts since May 26. His 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.

The reigning champs are mired in their own funk of late, losing for the ninth time in 11 games with another night of missed chances on offense.

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

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

"We were feeling a little pressure when you have a losing streak like that," Morton said.

The Giants — held to two or fewer runs for the eighth time in 10 games — were blanked for the third time in nine games and 10th overall.

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

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

"It's frustrating," catcher Eli Whiteside said. "When you're not scoring any runs, it's tough on the pitching staff, too. 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."

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.

It sure 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 in a row from June 6-18 last year.

"It definitely feels good to get a win, and a win like this with Charlie getting a shutout against a good team, to turn things around," Jones said. "We were in a little rut. You have to remember to just have fun and play our game. We did that."

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 National League ERA leader — just barely. Vogelsong owns a 2.48 mark, while Phillies ace Roy Halladay lowered his ERA to 2.51 in an outing against the Dodgers.

Vogelsong was tagged for five runs on nine hits in five innings. He matched his season high with eight strikeouts, which he also did in his first start of the season — against the Pirates in Pittsburgh on April 28.

He didn't get much help from the hitters. 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 on 13 hits. They are batting .161 (20 for 124) over their last 18 games with runners in scoring position.

"It was pretty flat out there tonight. I don't know why. When you don't get a big hit to knock in a run occasionally, it makes it tougher," manager Bruce Bochy said. "This has been going on for a while and we need to do something about. It's not going to happen until we do come through with some clutch hitting."

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: The Pirates have won the opener in nine of their 10 road trips so far. ... Zito allowed three runs on 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 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 on five hits over six innings April 27 in Pittsburgh. ... Pirates RHP James McDonald (7-5, 4.23) tries to keep his strong second half going Tuesday. McDonald is 2-1 with a 3.42 ERA in four starts since the All-Star break. He has a team-high 102 strikeouts. ... The Pirates are 49-0 when leading after eight innings.