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.