Dan Haren had been waiting to prove he belonged in Washington's vaunted starting rotation.
After winning his last two starts, Haren is feeling a little better, and that's mostly because he's not overthrowing his fastball.
''I'm not going to care about velocity anymore,'' he said with a smile. ''I'm sick of that. It just gives me problems. I'm just going to be myself out there. Whether it's 88 or 85 (mph), I don't really care. I know I can get people out.''
The Nationals, who snapped a nine-game losing streak to Atlanta on Wednesday, allowed their NL East rivals to get only three runners in scoring position over two nights.
Haren (3-3) gave up four hits and one run with one walk and four strikeouts.
''He's a consummate pitcher,'' Washington manager Davey Johnson said. ''He doesn't give in to a hitter. He's got all kinds of movement on the ball, and this is a very aggressive swinging ballclub. They were swinging early in the count, which worked right in his favor.''
Rafael Soriano earned his ninth save in 10 chances by pitching the ninth. He retired Justin Upton and Freddie Freeman on groundouts before Evan Gattis singled and Dan Uggla popped up.
Washington got off to a good start in the first against Kris Medlen, breaking its 15-game streak without a first-inning run when Span led off with a double, advanced to third on a wild pitch and scored on Steve Lombardozzi's RBI single.
Adam LaRoche doubled and rookie Anthony Rendon singled to start the second. With two outs, Span doubled past third baseman Chris Johnson on a play that was originally scored an error and later changed to a hit.
Medlen (1-4) lost his third consecutive start for the first time in his career, allowing seven hits, three runs and three walks in seven innings. He struck out eight.
''I thought (Span's two-run double) was a pretty big part of the game, but I'm tired of doing interviews postgame saying, `I just kept us in the game,''' Medlen said. ''If I'd cleaned it up from the get-go, I don't give up any runs.''
Haren shook off his 7.31 career ERA in three career starts at Turner Field to pitch well in consecutive outings for the first time since signing as a free agent with the Nationals last winter.
His results weren't much different from Wednesday, when Jordan Zimmerman pitched eight scoreless innings against Atlanta. Haren had the Braves guessing all night until Uggla's fifth homer cut the lead to 3-1 with two out in the seventh.
Needing just 13 pitches to get through the first two innings, Haren didn't allow a hit until Freeman's two-out single in the fourth. Haren made just 69 pitches through the seventh.
''I'm pitching more like myself,'' Haren said. ''That's what it came down to. I told you guys I was overdoing it with fastballs. I just went back to like I pitched in 2011, changing speeds on my cutter, throwing more splits and showing people fastballs here and there.''
Of Atlanta's three runners in scoring position the last two games, two of them — Medlen and Paul Maholm — were pitchers.
Span went 3 for 4 with a walk. He snapped an 0-for-41 skid that the Nationals had this season against the Atlanta bullpen when he singled off Jordan Walden in the ninth.
Braves LF Justin Upton was chosen as NL player of the month for April. ... Gattis was picked as NL rookie of the month. ... Nationals LF Bryce Harper had X-rays on his left shoulder before the game. He left Wednesday's win over the Braves in the sixth soon after wincing on a check swing. The X-rays were negative and Harper was diagnosed with a bruise under his left shoulder blade. He went 0 for 4 with a ninth-inning walk. ... Washington RF Jayson Werth went 0 for 2 and left for pinch-hitter Roger Bernadina in the fifth. Werth returned to the lineup after missing two straight games with a strained right hamstring and a bruised left ankle. ... Bernadina dropped to 1 for 21 this season when he struck out in the seventh and ninth, stranding a combined three runners in scoring position.