Avisail Garcia and Leury Garcia each added run-scoring hits for Chicago, which had managed a total of six hits in the first two games of the series. The win snapped a three-game skid.
Francisco Lindor homered for Cleveland, which had its five-game winning streak end.
Holland (2-2) allowed one run on three hits in six innings. He walked three and struck out six in lowering his earned run average to 1.99. Holland is now 7-1 with a 2.27 ERA against Cleveland in his career.
Indians starter Danny Salazar (1-2) allowed four runs on seven hits in five innings.