Samardzija (6-7) issued four hits and one walk in breaking a personal four-start losing streak. The right-hander had allowed 14 runs on 13 hits over 9 1/3 innings in his previous two appearances.
The Cubs broke a 1-1 tie in the seventh when they loaded the bases with none out and Valbuena doubled into the right field corner, scoring Bryan LaHair, Steve Clevenger and Darwin Barney.
Antony Rizzo went 2-for-4 with a solo homer in the win.
Tommy Hanson (9-5) absorbed the loss, surrendering four runs on seven hits over seven innings for the Braves, who fell for the fourth time in five games.
Martin Prado provided Atlanta's only RBI.