WASHINGTON -- Brandon Webb liked the result. He wasn't happy with how he achieved it.
"Once again, it was a battle," Webb said. "I haven't had an easy inning in a month, it seems like."
Washington starter Odalis Perez (2-6) had trouble of his own -- with home plate umpire Angel Hernandez, who called two balks on the pitcher and then ejected him in the third inning.
Perez's first balk led to the Diamondbacks' first run, moving Chris Burke -- who reached on an error by shortstop Cristian Guzman -- to second. Burke scored on Chris Young's single.
After the second balk, Perez charged toward Hernandez, who quickly ejected Perez. The left-hander had to be restrained by manager Manny Acta, pitching coach Randy St. Claire and second base umpire Eric Cooper.
"He's just stupid. He's stupid and (an) idiot," Perez said of Hernandez. "This is the third or fourth time he called a balk on me. I lost the game twice. It's like he has something personal against me. ... I hate that. I know I'm going to get fined, but I don't care. I want to protect myself and protect my teammates, too.
"He called it. I don't like that. I hate that. I lost the game, and I hate that so bad because he's bad. He's awful. He's the worst," Perez added.
Hernandez declined to comment.
Melvin, however, felt Perez was stepping toward home plate and earned the calls.
"There were some dramatics to it, but I certainly don't blame him for calling them," Melvin said. "I saw it the same way he did."
Washington manager Manny Acta called it "mind-boggling" that Hernandez called two balks on Perez in an inning and Perez had no balks this season, but said the calls had little effect on the outcome.
"It didn't make a difference because we didn't score any runs on him anyway," Acta said.
Webb (13-4) struck out six and walked two in his first start since being chosen for the NL All-Star team for a third straight year. It was the 16th time in 19 starts Webb lasted at least six innings.
But Webb and Arizona manager Bob Melvin said the pitcher struggled with his release point and command of his fastball throughout the game.
Webb's toughest inning came in the fifth, with Arizona holding a 1-0 lead. The Nationals loaded the bases on a double, error and a walk, and with two outs Webb faced Austin Kearns, who already had two hits in the game and was 9-for-20 against Webb.
"I knew he'd hit me fairly well and had some big hits off me," Webb said. "I was like, 'I'm not going to walk him.' I just challenged him."
Webb ended up getting Kearns to fly out on a 3-2 pitch, ending the Nationals' only real offensive threat of the game.
The Diamondbacks scored off another Nationals' error in the sixth inning, when Robby Hammock's single scooted past Nationals center fielder Roger Bernadina. The two-base error allowed Mark Reynolds to score and sent Hammock to third.
"They made a couple of mistakes, basically, and gave us the opportunity to score a couple runs," Young said. "We put the pressure on them, scraped a few hits and got the runs we needed."
After Webb left, the Arizona bullpen did not allow a base runner. Chad Qualls pitched the seventh, Tony Pena the eighth and Brandon Lyon worked the ninth for his 19th save.
- The Nationals placed OF Elijah Dukes on the 15-day DL and recalled OF Kory Casto from Triple-A Columbus.
- Arizona RHP Edgar Gonzalez, on the 15-day DL with a sprained elbow, has decided against surgery, Diamondbacks manager Bob Melvin said Tuesday.
- Arizona OF Eric Byrnes, on the DL with a stained left hamstring, will have an MRI Thursday. Melvin said he may miss the rest of the season.
- Nationals RHP Chad Cordero had surgery Tuesday to clean and repair a torn labrum as well as a tendon in his right shoulder.
- Washington SS Cristian Guzman did not get a hit, ending a 14-game hitting streak.