Zimmermann, the team's best prospect entering this season, went six innings and gave up two runs on six hits. He threw 72 pitches, 51 of them for strikes.
Manager Manny Acta thought about letting Zimmermann pitch another inning, but the Nationals started a rally in the bottom of the sixth, so Acta decided to have Alex Cintron pinch-hit.
"I had my helmet and batting gloves on, and John Lannan said, 'Cintron may be hitting for you if [Alberto Gonzalez doesn't hit into a double play],' " Zimmermann said. "I'm already on deck, and I put everything away and sat down. The only way I was going back out there was if Gonzalez hit into a double play, which he didn't. Everything worked out well."
In his two-plus seasons in the big leagues, catcher Jesus Flores said, he has never caught a pitcher like Zimmermann. Flores said the young hurler was focused and throwing the ball from both sides of the plate.
"He has tremendous command with his pitches. He threw the ball very well today," Flores said.
Zimmermann cruised until the fourth inning, when he gave up a two-run homer to Matt Diaz. After that he retired six of the next seven hitters he faced.
Acta said that Zimmermann threw even harder on Monday than he did during Spring Training. Zimmermann's fastball was clocked at 95 mph against the Braves.
"He was pretty impressive, especially since this was not the nicest day to play baseball," Acta said. "The kid hung in there and was very patient in the clubhouse. He went out there and gave us a tremendous effort."
After the Diaz homer, the Nationals came back and were able to get the victory for Zimmermann, starting with the bottom of the fourth inning.
With right-hander Derek Lowe on the mound, Elijah Dukes singled to right field to drive in Nick Johnson and cut the lead by one. Two batters later, Flores tied the score with a sacrifice fly to left field to send home Ryan Zimmerman.
Flores gave Washington the lead two innings later, when he singled to left field to drive in Dukes.
Zimmermann was named the Nationals' fifth starter during Spring Training with the understanding that he would pitch with Triple-A Syracuse until his services were needed 11 games into the schedule.
The 22-year-old made one start with the Chiefs, tossing 5 1/3 innings on April 9 against Rochester. He was supposed to pitch last Tuesday, but that game was called because of rain. Instead he threw a simulated game and pitched six innings.
Zimmermann was scheduled to make his Major League debut on Sunday against the Marlins, but the start was pushed back a day because of the rainout between the Nationals and Phillies last Wednesday.
Then there was the delay this time around.
"It has been a long two weeks, I should say, having to go out to Syracuse and knowing that I'm going to be here on the 19th," Zimmermann said. "Then a rain postponement, and it got pushed back to the 20th. And I get here, and it's raining again. It was a pretty long two weeks, and I was just happy to be in the game tonight and get this out of the way."
For the first time since last Thursday, against the Phillies, the Nationals preserved a victory, with Kip Wells, Joe Beimel, Garrett Mock and Joel Hanrahan pitching a combined three shutout innings.
Hanrahan, who picked up his first save of the season, needed this game after blowing save opportunities on Friday and Saturday against the Marlins. He acknowledged that Sunday was a long day, as he was not available after pitching three games in a row.
"Any time you mess up, you want to get back out there," Hanrahan said. "It felt good to go out there to get the job done."
And preserve the victory for Zimmermann.
A happy Zimmermann said that he was going to his apartment after the game to celebrate with his parents, grandparents and 20 friends from Wisconsin.
"All 25 people are probably going to come over and hang out for a while," he said. "Then it's time for bed and back to the ballpark."
Bill Ladson is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.