ST. LOUIS (AP) -- Kyle Lohse beat the Miami Marlins with seven innings of three-hit ball in 106-degree heat and Tony Cruz hit a go-ahead two-run triple in the St. Louis Cardinals' 3-2 victory on Saturday.
Allen Craig had three hits and Skip Schumaker added an RBI single in the fourth for the Cardinals, who have won five of seven and snapped the Marlins' three-game winning streak.
David Freese was hit by a pitch twice, walked and singled to reach base safely in all four trips.
Justin Ruggiano hit a two-run home run for the Marlins, who missed a chance to climb back to .500. Carlos Zambrano (4-7) lasted just five innings and Giancarlo Stanton lasted just two before leaving with right knee soreness, the injury that had kept him out four straight starts.
Jose Reyes, Hanley Ramirez and Carlos Lee, the top three in the Miami lineup, were a combined 0 for 11 with a walk and are 1 for 22 with two walks the first two games of a three-game set heading into the All-Star break.