PHILADELPHIA (AP) -- Cole Hamels didn't hit any Washington batters this time, and the Nationals hitters barely touched Hamels.
Hamels pitched eight scoreless innings, finishing up by retiring Bryce Harper on a grounder as the Philadelphia Phillies snapped a season-long four-game losing streak Wednesday night with a 4-1 victory over Washington.
Hamels (7-1) didn't allow a hit until Danny Espinosa doubled with one out in the sixth. The left-hander won his seventh straight decision, allowing four hits and striking out eight.
Hamels faced Washington for the first time since intentionally hitting the 19-year-old Harper on May 6. The incident sparked a firestorm, with Hamels earning a five-game suspension and Nationals general manager Mike Rizzo getting fined for his critical comments of Hamels.
"First and foremost, I'm happy about stopping the skid we've had," Hamels said. "I felt confident in my stuff."
Harper singled in the sixth. The Phillies led 3-0 in the eighth when Harper grounded out with a runner on third to end the inning.
"We just couldn't get anything going off Hamels," Nationals manager Davey Johnson said. "You have to tip your hat to him. He's tough. He's done that to a lot of people."
Shane Victorino homered, doubled and drove in two runs. Adam LaRoche homered with one out in the ninth off Jonathan Papelbon . LaRoche snapped an 0-for-19 skid.
The Phillies' victory ended Washington's franchise-record six-game winning streak in Philadelphia. The Phils have won just two of their last 11 games overall against the Nationals, with Hamels' victory at Washington on May 6 the other one.
"It was a very good game," Phillies manager Charlie Manuel said. "I liked the way we played. I was trying to get us loose. I was trying to do some things to loosen things up. You shouldn't be tight on our team. We'll let you play."
Despite the Nationals' recent dominance of the five-time defending NL East champion Phillies, Manuel has confidence in his club.
"Both of us have real good starting pitching," he said. "I think it's close. I think we got `em, though."
"Tonight's win was big for us," he added. "We're going to win some more. We ain't going nowhere."
Carlos Ruiz doubled and singled twice while batting cleanup for the first time in his major league career. Manuel juggled a lineup that had scored four total runs in its last three games.
"It turned out pretty good," Manuel said.
Ruiz got a bruise on his right wrist after taking a hard foul ball hit by Espinosa in the off the right wrist in the eighth inning. X-rays were negative and Ruiz is day-to-day.
Edwin Jackson (1-2) allowed three runs and seven hits in seven innings.
Mike Fontenot hit an RBI single with two outs in the second, and Victorino's two-out double in the third drove in Hunter Pence .
After Espinosa doubled in the sixth, Harper followed with a single to right field. But Pence made a strong throw home and Ruiz made a good tag after a difficult hop in front of the plate for the out.
"That's where defense really saved us," Hamels said. "You don't want the opposing team to get the momentum. That was a really big play."
The Phillies went up 3-0 in the seventh when Fontenot doubled, went to third on Hamels' sacrifice bunt and scored on a suicide-squeeze by Juan Pierre .
Philadelphia shortstop Freddy Galvis made two outstanding defensive plays, robbing Ian Desmond on a chopper up the middle and later adding an over-the-head grab on pinch-hitter Steve Lombardozzi 's medium fly. The crowd erupted in chants of "Fred-dy! Fred-dy!"
Victorino homered with two outs in the eighth off Henry Rodriguez , making his first relief appearance since being demoted as the closer following Monday's game.
Harper made an excellent running catch in the fifth, racing back to the warning track to snare Pierre's liner. The ball hit and popped out of Harper's glove before he retrieved it after a step.
NOTES: Phillies SS Jimmy Rollins missed his third straight game after the birth of his daughter on Sunday night. Rollins is on the three-day paternity list. He is expected to rejoin the team for Thursday's game in St. Louis, and the Phillies opened a roster spot by optioning C Erik Kratz to Triple-A Lehigh Valley. ... The crowd of 43,926 was the 228th consecutive sellout in Philadelphia and 244rd counting postseason play. ... The Nationals travel to Atlanta for Friday night's game, with LHP Ross Detwiler (3-3, 3.65) scheduled to face Tim Hudson (3-1, 3.03 ERA). ... Philadelphia heads to St. Louis for the first of four against the Cardinals, with RHP Joe Blanton (4-4, 3.74) scheduled to meet Jake Westbrook (4-3, 2.41).