Lohse (9-2) yielded a two-run homer to Justin Ruggiano in the second inning, but that was it, otherwise limiting the Marlins to one walk while striking out four.
The Cardinals right-hander won his third straight start, registering his fourth consecutive appearance in which he's held his opponent to two or fewer runs.
Mitchell Boggs hurled a scoreless eighth inning and Jason Motte collected his 20th save despite allowing two hits in the ninth for the Cards, who evened their three-game series.
Carlos Zambrano (4-7) was touched for three runs on seven hits over five innings for the Marlins.
Dennis Rodman pledges to end trips to North Korea
Teacher apologizes for showing sexual image of herself in class