Smith (6-8) allowed eight hits, walked two and struck out five en route to the victory, the left-hander's second in three starts.
Kelvin Herrera pitched a scoreless ninth for his second save as the Royals clinched their three-game series and downed the Indians for a seventh straight time.
The Royals posted three runs in the fifth inning to take control of the contest, including RBI from Brayan Pena and Irving Falu.
Ubaldo Jimenez (9-17) absorbed his sixth consecutive losing decision, surrendering five runs on seven hits in 4 1/3 frames.
Cord Phelps knocked in two runs for Cleveland.
Gal Gadot cast as Wonder Woman for 'Batman vs. Superman'
Couple mistakenly served bag of cash at McDonald's drive-thru