Alex Verdugo became the first player in Red Sox history to lead off three straight games with a home run, while Justin Turner also left the yard while going 3-for-4 with two RBIs and two runs.
Duvall and Rob Refsnyder each had two hits.
Mookie Betts went 3-for-6 with a double, RBI and run in just the Dodgers' fourth loss of August. Jason Heyward went 2-for-2 and Max Muncy had two RBIs.
Betts flew out to center with the bases loaded in the ninth to end the game as John Schreiber saved the win for Brennan Bernardino (2-1).
Julio Urias (11-7) took the loss, allowing six runs (three homers) while striking out nine in six innings.
The Dodgers took a 1-0 lead on Amed Rosario's two-out infield single in the first inning, scoring Betts, who hit a leadoff double.
Verdugo followed with his leadoff shot for Boston in the bottom of the first.
Rosario manufactured the Dodgers' go-ahead run in the fourth, drawing a leadoff walk, stealing second, advancing to third on a grounder and scoring on Chris Taylor's fielder's choice.
Leading Boston's half of the frame, Turner hit a game-tying solo shot deep over the Green Monster.
In the fifth, Muncy crushed a go-ahead, two-run homer to right to give the Dodgers a 4-2 lead. Will Smith drew a leadoff walk to begin the inning.
A Turner double and Refsnyder single put runners on the corners in the sixth, and Duvall lifted a one-out, three-run homer out to right to flip the score back in Boston's direction. After Trevor Story walked and stole second, Reese McGuire's single up the middle added an insurance run.
In Boston's seventh, Connor Wong drew a leadoff walk and reached third on a throwing error following a stolen base. Turner knocked an RBI single through the left side to increase the lead to 7-4.
Betts' RBI single with one out and two on brought Los Angeles back within 7-5, but Boston reliever Chris Martin struck out Muncy looking with the bases loaded.
Muncy and Dodgers manager Dave Roberts were both ejected for arguing the call.
The Red Sox loaded the bases and scored an eighth run on Luis Urias' fielder's choice that second baseman Betts mishandled.
Red Sox shortstop Pablo Reyes exited the game in the sixth inning with left elbow pain.
—Field Level Media