Mendoza (5-7) turned in his fifth quality start in six outings, issuing one walk and striking out three.
Greg Holland picked up his first save of the season with a 1-2-3 ninth for the Royals, who clinched their three-game series.
The Royals scored twice in the first inning, when Alcides Escobar walked, went to second on a single by Lorenzo Cain and then scored on an error by Carlos Santana on a double-steal. Cain advanced to third on the error and then came in on a groundout by Billy Butler.
Jarrod Dyson and Alex Gordon each drove in a run in the second inning, and the Royals went on to record only their third win in 10 games.
Indians starter Zach McAllister (4-3) gave up five runs (four earned) on five hits in six-innings.
Santana socked a two-run homer as Cleveland -- once a contender for the American League Central crown -- dropped its fifth straight.