Kazmir (7-4) baffled the Marlins on just two hits, walking two and striking out seven. The left-hander extended his unbeaten streak to 10 starts while lowering his ERA to 3.89.
Bryan Shaw and Joe Smith each turned in a scoreless relief frame and Chris Perez closed out the victory with a 1-2-3 ninth for his 17th save as the Tribe took the rubber match of the three-game interleague set.
Lonnie Chisenhall and Michael Brantley each provided an RBI for second-place Cleveland, which came into the contest trailing American League Central-leading Detroit by three games.
Marlins starter Nelson Eovaldi (2-2) took the hard-luck loss, surrendering just one run on seven hits over seven full innings. He walked one and struck out two.
Astronomers offer more expansive view of universe
Handler slams Piers Morgan: 'You're a terrible interviewer'