Garcia (2-2) limited the Royals to six hits, walking two and striking out three in leading the Yankees to their second win in six games.
David Robertson and Joba Chamberlain each tossed a scoreless inning of relief and Mariano Rivera picked up his 13th save in the ninth for New York, which took the first of a three-game series against Kansas City.
Rodriguez's two-out grounder past diving shortstop Alex Escobar in the fifth drove in Brett Gardner and Derek Jeter to break a 1-1 tie.
Kyle Davies (1-5) absorbed the loss, surrendering three runs on seven hits through five innings.
Former Yankee Melky Cabrera smacked a solo homer for the Royals.