Ryan Sweeney and Cody Ransom hit back-to-back homers in a four-run first inning and that was plenty for Jeff Samardzija, who pitched the Chicago Cubs over the St. Louis Cardinals 4-2 Tuesday night.
Chicago started fast against Adam Wainwright (10-4) and broke a five-game losing streak in St. Louis.
Pinch-runner Shane Robinson was called out for interference while trying to break up a double play to end the game.
Carlos Beltran hit his team-high 17th homer for the Cardinals, who lost for the third time in five games but still lead the majors with a 45-26 record.
Samardzija (4-7) gave up two runs and seven hits in 8 1-3 innings. He struck out six and walked one for his first win since May 27, a 7-0 shutout against the Chicago White Sox.
The Cardinals cut the lead to 4-2 on an RBI single by Yadier Molina with one out in the ninth.
Kevin Gregg got David Freese to ground into a game-ending double play for his 10th save in as many opportunities. Robinson interfered with shortstop St...