Cano's slam highlighted a six-run third inning that also saw Nick Swisher sock a solo homer.
Rodriguez, meanwhile, turned the contest into a rout with his blast in the eighth, and the Yankees went on to earn a split in their four-game series as Kauffman Stadium.
New York's Phil Hughes (2-4) got the victory in a 6 2/3-inning start. The right-hander surrendered three runs on six hits, walking one and striking out seven.
Luke Hochevar (2-3) was roughed up for seven runs on seven hits while lasting only 2 1/3 innings for the Royals.
Humberto Quintero homered in the loss.