Marson, a light-hitting catcher, bashed his first homer of the year in the seventh inning, breaking a 2-2 tie, and Hafner delivered run-scoring singles in the seventh and ninth innings for the first-place Indians.
Michael Brantley went 3-for-4 with an RBI and a run scored as Cleveland followed up a 5-2 win in the day's first contest with another victory.
Fausto Carmona (5-10) tossed six strong innings, holding the Twins to two runs on seven hits, walking none with one strikeout.
Rookie Scott Diamond (0-1) made his major league debut after being called up from Class AAA Rochester for a spot start. He yielded four runs (three earned) on seven hits over 6 1/3 frames for the Twins.
Joe Mauer went 3-for-4 with a run-scoring single and Danny Valencia hit a solo homer for Minnesota.