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.