Lannan blanked the Braves over the first five innings and picked up eight groundball outs in the win.
In the meantime, the Nationals gave Lannan four runs against right-hander Derek Lowe, who lost for the third time in as many starts against Washington this year. In the second inning, Michael Morse gave the Nationals a 1-0 lead with a solo homer. It was his ninth home run of the season.
An inning later, Nyjer Morgan scored on an RBI single by Ian Desmond to give Washington a 2-0 lead.
In the sixth frame, Washington added two more runs, thanks to run-scoring hits by Roger Bernadina and Ryan Zimmerman.
"I can't remember the last time that I beat the Nationals," said Lowe, whose last win against the Nats was just over a year ago, on Aug. 12, 2009. "They've given me a rough time. I was trying to get creative when Morse hit the homer. I threw him a backdoor cutter and that didn't work."
Lannan's only blemish came in the sixth inning, when he allowed back-to-back singles to Omar Infante and Jason Heyward to open the frame, and Matt Diaz drove them both in with a double to right field. After walking Brian McCann, Lannan left the game in favor of right-hander Joel Peralta, who was told by bullpen coach Jim Lett not to worry about Diaz.
Diaz wasn't worried about Peralta either. Diaz was given the green light by Braves manager Bobby Cox to steal third base because the Braves noticed that Peralta took 1.9 seconds to deliver the ball to the plate. The problem for the Braves was that the the hitter at the plate, Alex Gonzalez, wasn't aware that Diaz was going to attempt to steal.
Gonzalez popped up in foul territory to Morse at first base. Diaz was already at third when he realized the ball was going to be caught and was doubled off second base.
"[Cox] did give me the green light. But with that being said, I still have to look in and know what's happening," Diaz said. "I saw the play, it just didn't register."
The blunder helped Lannan win his fifth game of the season. Nationals manager Jim Riggleman was impressed with the way he performed.
"John really did a good job for us," Riggleman said. "He got us into the sixth inning. He got us deep enough in the ballgame where we had good bullpen matchups. I felt the ball was sinking pretty good. His changeup and breaking balls were pretty good, so, knock on wood, it looks like he is back on track."
Since being recalled from Double-A Harrisburg, Lannan is 3-0 with a 3.11 ERA in four starts. He looks like the pitcher who gave the Nationals plenty of innings the previous two years.
Asked if the old Lannan is back, Lannan said, "I feel that I'm close, and I'm going to keep on getting better with each start. The main thing for me is to go out there and be confident in my stuff -- [throwing] each pitch with a purpose. I'm more sure of my stuff since I came back."
Outfielder Willie Harris see a difference in Lannan since he returned from the Minor Leagues, too.
"They sent him down to the Minor Leagues. He went down there, persevered and faced a lot of adversity," Harris said.
"He came back. He is a different person. He let his hair grow out, wears his leg pants down, and he is pitching well. Hopefully, it continues."
The Braves made it interesting in the eighth inning but were unable to score. After dominating the Braves while striking out the side in the seventh, Tyler Clippard had problems the following inning, as he walked Omar Infante and Jason Heyward to start the eighth.
Martin Prado then came to the plate and bunted the ball in front of Nationals catcher Wilson Ramos, who was able to get the out on the lead runner at third base.
Diaz followed and hit the ball to deep right field. It was clear that Harris had problems seeing the ball because of the sun, but he managed to make the catch. Prado and Heyward advanced to second and third, respectively.
"I just battled. I couldn't see the ball almost the whole time," Harris said. "When Diaz hit the ball, I had an idea where the ball was going to be. I couldn't see it until it was coming down. It was tough. I was fortunate to make the catch."
Left-hander Sean Burnett entered the game to face Brian McCann, who lined out to Morse to end the inning.
Harris added to the scoring by hitting a two-run homer off Kyle Farnsworth to make it a four-run game, and Drew Storen finished it off with a scoreless ninth.
"Clip, Burnie and Joel -- we really gave the team a lift. That's something to take pride in," Storen said.
With the victory, the Nationals improved their record to 52-69.