The teams battled through two long rain delays, and the game didn't end until 8:34 p.m. ET -- after it was scheduled for a 1:35 start -- thanks to stoppages totaling 3:33 along with a game that lasted 3:26.
Washington right-hander Max Scherzer (13-5) won his third consecutive start. The National League All-Star starter on Tuesday, Scherzer allowed two runs on eight hits in six innings Sunday, striking out seven and walking one.
Mike Foltynewicz (7-6), a fellow All-Star, took the loss for the Braves after giving up four runs in 5 2/3 innings.
Rendon came through in the first after Adam Eaton led off with a single and Harper drew a one-out walk. The Washington third baseman then lined a triple into the right field corner that scored both.
Juan Soto grounded out, scoring Rendon for a 3-0 lead.
Atlanta's Dansby Swanson drove in a run in the second with a groundout and one more in the fourth with a single, cutting the deficit to 3-2.
The Nationals added one more as the rains came in the bottom of the sixth. Eaton and Trea Turner started a two-out rally with back-to-back singles, and Harper greeted reliever Sam Freeman with an RBI single.
Swanson almost caused trouble in the seventh with a long fly to center, but Michael A. Taylor, who entered in the sixth, made a great leaping catch to keep the game at 4-2.
Matt Adams added an RBI single in the seventh, and Harper hit a solo homer in the eighth.
Kelvin Herrera recorded the final five outs for his first save as a National, his 15th overall this season. Now that All-Star closer Sean Doolittle (left foot stress reaction) might be out for a time, Herrera could be valuable in Washington.
Before the game, the Nationals traded outfielder Brian Goodwin to the Kansas City Royals in exchange for minor league pitcher Jacob Condra-Bogan. Washington also recalled left-hander Sammy Solis from Triple-A Syracuse, and Solis retired one of the three batters he faced Sunday in the eighth inning.
--Field Level Media