The Nats didn’t want John Lannan, but his performance last night may have them wondering why. Lannan was outstanding, throwing eight shutout innings as the Phils topped Washington 3-2.

An overused Papelbon gave up a pair of runs in the ninth, but held on to get his 19th save.

It was Lannan’s day, but Revere and Rollins stole the show offensively for the Phils. Hitting one and two in the order, the duo combined to go 5-for-9 with a double and two stolen bases and scored all three Phillie runs. They were the driving forces behind a two-run bottom of the first and produced another run in the sixth when Revere doubled with two outs and Rollins singled him home. They did their best to start another rally in the second, but a nice play from Ian Desmond at short took a hit away from Rollins.

The Phils have gone 5-2 over their last seven games, playing against some of the best teams in their division and in the NL between the Pirates, Braves and Nationals.

The Phillies are 44-46 on the year after beating the Washington Nationals 3-2 last night. The Phils lead the four-game series one game to none. They’re 5-2 in July despite allowing the same number of runs they’ve scored (33). They’ve scored 70 runs in their last 13 games, an average of 5.38 runs per game. Prior to those 13 games, they had scored 283 runs in 77 games, or about 3.68 runs per game. The 5.38 runs per game over the last 13 is inflated by a single game on June 28 when they beat the Dodgers 16-1, but even removing that game they’ve still scored 4.5 runs per game over their last 12.

Lannan got the start for the Phillies and went eight shutout innings, allowing four hits, all singles, and two walks. He struck out four.

That’s definitely Lannan’s best start as a Phillie and probably his best since May 27, 2011. He allowed two hits and two walks over 7 2/3 scoreless innings that day as the Nats topped the Padres 2-1.

He drops his ERA on the year to 4.23 after eight starts. He’s allowed just two home runs in 44 2/3 innings over his eight appearances, but righties are hitting 309/362/441 against him.

He set the Nats down in order in the top of the first.

He started the second up 2-0. Jayson Werth reached on a softly hit infield single with one out, but Lannan got Andy LaRoche on a fly ball to center for the second out and struck Anthony Rendon out swinging for the third.

He threw a 1-2-3 third.

Bryce Harper walked with one out in the fourth, but Ruiz threw him out trying to steal second for the second out. Ryan Zimmerman followed with a single into center and Werth walked behind Zimmerman, putting men on first and second for LaRoche. LaRoche hit the ball well, but Utley handled it and threw to first to set the Nats down.

Huge caught stealing of Harper for the second out in the inning saves the Phils at least one run. Harper looked like he was actually safe at second on a close play, but the Phils catch a big break with the call.

Lannan set the Nats down in order in the fifth.

Harper singled to right with two outs in the sixth. Zimmerman grounded to short for the third out.

Up 3-0, Lannan threw a 1-2-3 seventh.

Steve Lombardozzi bunted for a single with one out in the eighth. Denard Span was the next batter and grounded to second with Utley going to Rollins to force Lombardozzi for the second out. Lannan struck Ian Desmond out swinging 0-2 to end the frame.

Lannan allowed just four hits in his eight innings. One was the bunt single by Lombardozzi in the eighth and the other was a softly hit infield single by Werth in the second.

Papelbon started the ninth with the Phils still up by three. Harper led off with a single into center and moved up to third when Zimmerman doubled to center. It brought Werth to the plate as the tying run with nobody out and man on second and third. Werth blasted an 0-1 pitch to center, but Revere took in on the track in front of the wall for the second out. Harper tagged and scored (3-1) and Zimmerman moved up to third. LaRoche was next and he flew to center for the second out. Zimmerman tagged and scored. 3-2 with two outs and nobody on. Lefty Chad Tracy hit for the pitcher Ross Ohlendorf and flew to center to end the game.

Papelbon started the inning despite having thrown in three of the past four days, including 25 pitches the day before.

Papelbon gets Tracy to end the game. On June 17, Tracy homered off of Papelbon with two outs in the top of the ninth to tie the game at 4-4. The Phils won it in the bottom of the ninth on a two-out single by Brown that scored Revere. Lannan also started the June 17 game.

Papelbon has pitched two days in a row and four times in five days. He almost surely will not pitch tonight, which is a problem for the Phillies given his status as the the only effective reliever in their pen.

Last night was just the second time this year he’s allowed more than one earned run in an appearance. He has a 4.09 ERA over 11 innings in his last 11 times out. He’s also allowed two unearned runs over those outings.

The Phillie lineup against righty Dan Haren went (1) Revere (2) Rollins (3) Utley (4) Brown (5) Michael Young (6) Delmon Young (7) Ruf (8) Ruiz. Rollins hit second in the order for the first 11 games of the season and now has hit second two in a row. He’s been in the starting lineup 86 times — batting first 39 times, third 31 and second 16. Ruf plays first against the righty with Howard on the DL and out 6-8 weeks.

Revere and Rollins singled back-to-back to start the bottom of the first and pulled off a double-steal that left them on second and third with nobody out. Utley struck out swinging for the first out, but Brown was next and hit a ball back up the middle and off Haren’s foot. The ball rolled towards first and Brown beat it out for a single. Revere scored (1-0) and Rollins moved up to third, leaving runners on the corners with one down for Michael Young. Haren uncorked a wild pitch with Young at the plate, which moved Brown up to second with Rollins holding third. Young went on to walk, loading the bases for Delmon Young. Delmon Young struck out swinging 1-2 for the second out. Ruf was next and walked on a 3-2 pitch, moving everyone up a base and forcing Rollins home to make it 2-0. Ruiz flew to right to leave them loaded.

The Phils get three hits, two walks, two stolen bases and a wild pitch in the frame, but wind up with just one run. Big strikeouts for Utley and Delmon Young with less than two outs before Ruiz flies out with the bases loaded.

Brown moves up to second on the wild pitch with Rollins holding third, which looks weird in the box score, but looked less weird when it happened. The ball went under the catcher Ramos and to the backstop, off the wall and straight back towards the catcher. Rollins held and would have been out had he tried to go home, except that Ramos didn’t handle the ball as it came off the wall and it kicked away from him. So Rollins would actually have been safe. Didn’t matter at all as he scored on Ruf’s walk anyway.

Revere singled softly to right with one out in the second. Rollins was next and hit a ball in the hole between short and third, but Desmond made a nice diving play and threw to first to retire Rollins. Utley flew to left for the third out.

Second time in two innings that Revere and Rollins do their part to get a rally started at the top of the order. Desmond made a very nice play to take a hit away from Rollins and change the inning.

Brown walked to start the third and moved up to second when Michael Young followed and singled softly into center. Delmon Young struck out swinging for the first out and Ruf struck out swinging for the second. Ruiz flew to right to end the inning.

No run for the Phillies after they put runners on first and second with nobody out to start the inning. Second huge strikeout for Delmon Young in two at-bats. In the first he struck out swinging with one out and the bases loaded. In the third he struck out swinging with nobody out and runners on first and second.

The Phillies went in order in the fourth.

Michael Young singled with one out in the fifth and moved to third when Delmon Young singled softly to right. It put runners on the corners for Ruf with two down. Ruf struck out swinging to leave them stranded.

Revere doubled to left off of lefty Fernando Abad with two outs in the sixth. Rollins was next and lined a single to right. Revere tried to score from second and slid in just ahead of a strong throw from Werth, putting the Phils up 3-0 with Rollins on second and two down. Utley grounded to second to end the frame.

Revere and Rollins again come up big. Back-to-back singles in the first and they both score. Revere singled with one out in the second and Rollins has a hit taken away by Desmond. Revere doubles in the sixth and scores on a two-out single by Rollins.

Revere doubles against the lefty. Ends the day with a 369/379/492 line against left-handed pitching for the season with seven extra-base hits in 66 PA. His isolated power for the year against righties is .030 and .123 against lefties.

Righty Ross Ohlendorf set the Phillies down in order in the seventh. Brown got an extra chance when Ramos dropped a foul popup, but grounded to third for the first out.

Ruf singled off of Ohlendorf to start the eighth and McDonald ran for him at first. Ruiz struck out for the first out. Frandsen hit for Lannan and struck out swinging for the second. Revere grounded to second to set the Phillies down.

Two scoreless innings and three strikeouts for Ohlendorf, who pitched kinda like he was channeling Fozzie Bear after Fozzie had spent a week studying pitchers from the 1920s. Don’t know where he came up with that windup, but it’s definitely entertaining. The whole thing owes an assist to the reality that Ohlendorf’s last name is Ohlendorf and he has an eightish ERA over the last two years.

Revere was 3-for-5 with a double and a stolen base in the game. Scored two of the three Phillie runs and his double was the only extra-base hit of the game for the Phils. 11-for-his-last-23 with two doubles and a triple. 343/379/406 in his 222 plate appearances since the end of April.

Rollins 2-for-4 with a stolen base and an RBI. 3-for-his-last-12. Two extra-base hits, both doubles, and a .281 slugging percentage over his last 141 plate appearances.

Utley 0-for-4 with a big strikeout after the double-steal in the first. 6-for-27 (.222) to start July.

Brown 1-for-3 with a walk and an RBI. 370/404/700 so far in July. 300/333/614 over his last 285 plate appearances.

Michael Young 2-for-3 with a walk. 5-for-his-last-10 with two walks.

Delmon Young was 1-for-4, struck out three times and left five men on base. He had two huge early strikeouts with less than two outs. Struck out with the bases loaded and one out in the first and with men on first and second with nobody out in the third. He’s hitting 429/462/551 over his last 52 plate appearances.

Ruf 1-for-3 with a walk and an RBI. Struck out twice. 3-for-7 with a double and two walks on the year.

Ruiz 0-for-4 with a strikeout and six men left on base. 2-for-his-last-10. Three extra-base hits in 122 PA for the year and an isolated power of .028.

Hamels (3-11, 4.38) faces righty Taylor Jordan (0-1, 2.70) tonight. The Phillies have won two games started by Hamels in a row for the first time this season. Coming in those two starts they were 2-14 in games he started. The 24-year-old Jordan was drafted by the Nats in the ninth round of the ’09 draft and has made two appearances with Washington this year, both starts. He hasn’t allowed an extra-base hit to any of the 46 batters he’s faced this season.