Hosmer's fifth-inning clout put Kansas City ahead to stay and the Royals reeled off a sixth win in eight contests, claiming the rubber match of a three-game series with the American League Central-leading Tigers.
Bruce Chen (7-2) allowed two runs on five hits with four strikeouts in seven innings, and Greg Holland secured the victory with his 40th save.
The Royals temporarily moved within three games of the second AL wild card slot with the triumph.
Tigers starter Doug Fister (12-8) was tagged for five runs on eight hits in a 6 1/3-inning performance.
Jose Iglesias bashed a two-run homer for the Tigers, who fell for the fifth time in seven games.