WASHINGTON -- Alfonso Soriano scored three runs without an official at-bat. On his fourth trip to the plate, he launched his 23rd home run over the left-field fence.
The Washington Nationals have the best record in the majors over the last three weeks, and the explanation starts at the top of the lineup. Soriano's four runs, along with Mike O'Connor's three-hit pitching over six innings, led a 5-2 victory over the Philadelphia Phillies on Thursday night.
"Soriano really was the story," Philadelphia shortstop Jimmy Rollins said. "That was his impersonation of Ricky Henderson, I guess. He scored four runs out of their five, stole a bag, caused a balk."
Soriano finished with two walks, a hit by pitch, a stolen base and a seventh-inning solo homer to left. He has homered in 11 consecutive series, the longest such streak in baseball this season and one shy of the franchise record. He is second in the majors in homers and is well into the top 10 in the National League in RBI (46) and runs (48). His 1-for-1 night at the plate raised his average to .310.
"I try to be more patient," said Soriano, who has scored 28 runs in 26 games since taking over the leadoff spot on May 12. "Now I feel very comfortable. I see the ball better."
The Nationals (28-33) opened a season-long, 11-game homestand with their seventh win in eight games. They are a majors-best 15-6 since May 18 and are five games under .500 for the first time since they were 7-12 in late April.
"We're playing as good a baseball as we're going to play, as far the won-loss record is concerned," manager Frank Robinson said. "There's a good feel down there. Everybody comes to the ballpark with a gleam in their eye, with the thought of, 'We're going to win tonight,' not that they we're going to go out here and try and win one -- we're going to win."
O'Connor (3-3) won first for the first time in six starts, even though the rookie has yet to allow more than three runs in any start this season. He never looks spectacular, but he is always effective. Only one of the two runs against him was earned.
"One thing about the kid, he seems to do what he has to do to keep you in the ballgame and hang around," Robinson said. "You'd think the way he pitched, he'd be behind or he'd have six or seven base hits up there, but you look up, it's the sixth inning and he's given up three hits. He was effective, but it wasn't pretty."
It helped that O'Connor was facing a Phillies team that played in Arizona the day before. The Phillies are 5-3 with three games to go on their longest road trip of the year.
"We didn't have good at bats," manager Charlie Manuel said. "I don't like to make excuses, but basically when we were playing the game, our energy didn't show. I felt like we were going to get to their pitcher, although he gutted it out."
Chad Cordero pitched the ninth inning for his 12th save, converting his ninth consecutive save opportunity.
Soriano walked to lead off the first and scored on Nick Johnson's sacrifice fly. In the third, he was hit by a pitch in third and scored on Royce Clayton's double. In the fifth, he walked, stole his 14th base of the season and scored on another double by Clayton, who has a nine-game hitting streak.
Clayton was doubled home by Johnson in the fifth, giving Washington a 4-2 lead and chasing starter Eude Brito (0-2).
The Phillies got on the board when Rollins singled in the third, took second on center fielder Damian Jackson's error and scored an unearned run on Chase Utley's double. Pat Burrell walked in the fourth and scored on Ryan Howard's 54th RBI, a sacrifice fly.
Brito had a busy pitching line in his second start of the season. He pitched 4 2/3 innings, allowed five hits, four runs and had three walks, two strikeouts, two wild pitches, one balk and one hit batter.
Brito, who has a 10.38 ERA, hasn't made much of a case to keep the spot in the rotation vacated when Jon Lieber went down with a groin injury.
"We've got to make a decision on that, probably," Manuel said. "We've got an off day coming on the 12th. We can do some moving around, but we'll see."
Philadelphia's Bobby Abreu advanced from first to second in the sixth inning on a rare call: The pitch bounced in the dirt and became lodged in catcher Brian Schneider's chest protector. The umpire ruled a dead ball and awarded the runner one base. O'Connor was assessed with a wild pitch. ... The Phillies had been 8-4 in their last 12 games against left-handed pitchers, but O'Connor was the first one they had seen since, well, O'Connor, who lost on May 29 at Philadelphia.