With runners at the corners, Harper added a run when he reached on an error by second baseman Weeks that allowed Denard Span to score in the ninth.
Jonathan Lucroy spoiled the shutout when he hit the first pitch from Tyler Clippard in the eighth for a solo home run.
Rafael Soriano pitched the ninth for his 27th save.
Ian Desmond doubled over center fielder Carlos Gomez's head in the fifth. With Denard Span batting, Desmond stole third and then scored when third baseman Jeff Bianchi failed to field the throw from Lucroy.
Jayson Werth went 3 for 4 with two singles and a double for Washington.
Figaro was in the game because starter Tom Gorzelanny left in the second inning after being hit on the left wrist by a line drive.
Werth led off the second with a sharp liner right back at the left-hander as he completed his follow-through. The ball struck Gorzelanny on the wrist and then rolled toward the third-base line.
He raced after the ball holding his left arm, but made no effort to pick it up.
Gorzelanny was examined by the team's training staff and was removed from the game. He was replaced by Figaro. The club said that Gorzelanny has a left elbow contusion. X-rays were negative.
It's been a tough week for Brewers starters.
Yovani Gallardo left Tuesday's game against the Chicago Cubs in the fifth inning with a strained left hamstring. He went on the 15-day disabled list Wednesday.
NOTES: Spin Williams, the Nationals' minor-league pitching coordinator, took the place of pitching coach Steve McCatty, who did not make the trip. McCatty became ill on Sunday just before the game with the New York Mets. Williams said the two are in constant communication about the pitching staff. McCatty is expected back for Monday's home game against the Atlanta Braves. ... Zimmermann, a native of Auburndale, Wis., made his fourth career start against the Brewers. ... All four hits by Milwaukee were doubles, including two by Weeks. ... It was Figaro's third straight relief appearance after four consecutive starts. ... The game started at 7:29 instead of the normal 7:10. The Brewers honored Hall of Famer Robin Yount on the 20th anniversary of his retirement.