Second baseman Cliff Pennington went 3-for-3 with two RBIs for Arizona and Didi Gregorius, competing for Arizona's starting shortstop job, went 3-for-4 with a run and an RBI.
Greinke, making his first start since suffering a mild right calf strain Feb. 27, allowed six hits in two innings with two strikeouts..
Arizona starter Michael Lee allowed two runs in three innings. Cesar Carrillo followed Lee with three scoreless innings.
The Dodgers scored twice in the first inning on a double by Hanley Ramirez, a walk by Adrian Gonzalez and a two-run double by Andre Ethier.
Arizona's second-inning rally started with Marte's homer, followed by singles from Duncan and Henry Blanco. Lee moved the runners over with a fake bunt groundout. Duncan scored on Tony Campana's single and Blanco on Pennington's sacrifice fly.
Up next: The D-backs will send Archie Bradley to the mound against the Mariners on Thursday afternoon at Salt River Fields in a game that can be heard on an exclusive webcast at 1:10 p.m. MST. This will be Bradley's final start before he gets the ball against Team Australia in an exhibition game March 21 in Sydney.
Ken Gurnick is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.