The Dodgers forced extra innings when they came up with a pair of runs in the bottom of the ninth, when Manny Ramirez drove in Rafael Furcal with a single and then scored on a throwing error by Stephen Drew.
LA closer Jonathan Broxton (1-0) got the win after pitching a 1-2-3 top of the 10th.
Blake DeWitt led off the bottom of the 10th with a single off Blaine Boyer (1-1) and took second on a sacrifice bunt by Furcal. Boyer issued an intentional walk to Matt Kemp and DeWitt and Kemp advanced to third and second -- setting up Ethier's game-winning hit.
Kemp hit a two-run home run and Ramirez and Casey Blake each drove in a run for Los Angeles, which won a series for the first time this season.
Dodgers starter Hiroki Kuroda went seven innings, allowing three runs on 10 hits with seven strikeouts.
Justin Upton hit a solo home run for the Diamondbacks. Conor Jackson had three hits and a walk and drove in a run for Arizona.
Diamondbacks starter Dan Haren went 6 1/2 innings, allowing two runs on six hits and two walks while striking out seven.