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.
Beyonce flaunts bikini body, Blue Ivy in vacation pics
Jordana Brewster on Paul Walker: 'He was an enormous presence in my life'