Hudson (7-1) gave up two runs and two hits with two walks and five strikeouts, but fell an out short of his first career complete game for the Diamondbacks, who have won four of their last five. Cole Gillespie hit a three-run home run in the win.
Andre Ethier and James Loney each drove in a run for the Dodgers, who had won their previous two. John Ely (4-9) dropped his fourth straight decision as he was touched for four runs on seven hits with six walks and seven strikeouts over 5 1/3 innings.
A sacrifice fly from LaRoche in the seventh gave Arizona a 5-1 lead.
Hudson then gave up a two-out single to Theriot followed by a walk to Ethier in the ninth. Mike Hampton took the mound and Loney greeted him with a single to score Theriot. Juan Gutierrez was called out of the bullpen and he struck out Russ Mitchell to pick up his 13th save of the season.
Despite the loss, Los Angeles has taken 11 of the 14 games against Arizona this season...Hudson has won his last four decisions...The Diamondbacks left nine men on base.