Davies (16-7) scattered six hits, walked two, struck out four and lowered his ERA to 1.77 over the last nine starts, five of them victories for himself and the team.
Greinke (16-6) beat the Dodgers 8-1 on Thursday afternoon. Clayton Kershaw (Dodgers) and Chris Sale (Red Sox) are one game behind Davies and Greinke.
Villar hit a two-run homer off Gio Gonzalez (13-6) in the fifth. It was his 11th of the season, second two-run in as many days and came after Davies walked.
Trea Turner greeted Anthony Swarzak with a triple to start the eighth and scored on Jayson Werth's groundout.
Corey Knebel pitched the ninth for his 31st save.
The Brewers snapped Gonzalez's five-game winning streak with their 11th victory in the last 16 games. Gonzalez allowed five runs and eight hits in six innings with three walks and seven strikeouts. He grimaced after Juan Aguilar took a called third strike. After a brief delay, Gonzalez finished the inning.
Stephen Vogt went 3 for 4 and drove in a run in the eighth with his third single of the game.
Aguilar drove in two in the third with a two-out, bases-loaded single to left. Domingo Santana was caught off second on the relay throw from the outfield. The Brewers challenged, but a 3:01 review confirmed the call and ended the threat.
The Nationals went ahead 2-1 in the third. Michael Taylor singled, advanced on a sacrifice by Gonzalez and scored on Turner's double. After stealing third, Turner came home on Werth's groundout.
Hernan Perez doubled, stole third and scored on a sacrifice fly by Ryan Braun in the first.
Turner went 3 for 4 with a double, single and triple and two runs scored.