Hosmer's 18th home run of the season capped a six-run fourth inning for the Royals, who had won seven straight games before a loss on Sunday.
"It felt good tonight, especially to do it at home in front of all these fans," Hosmer said.
Salvador Perez and Melky Cabrera both collected three hits, with Perez matching Hosmer's three RBI.
Luis Mendoza (1-0), making his season debut for the Royals after earning Pacific Coast League Pitcher of the Year honors, gave up two runs -- one earned -- on six hits and walked three in seven innings.
Detroit starter Brad Penny (10-11) surrendered seven runs and 10 hits over four frames.
"Tonight I didn't give us much of a chance to win," Penny said.
Alex Gordon led off the home first with his 23rd home run, a drive to center field.
Kansas City took control of the game in the fourth. Perez, Alcides Escobar and Cabrera each plated a run with a single. Hosmer followed Cabrera's base hit with an opposite-field smash to left.
An RBI double by Austin Jackson put Detroit on the board in the fifth, but Perez clubbed a two-out, two-run homer off Duane Below in bottom of the inning to make it 9-1.
Hosmer became the 26th player -- and sixth rookie -- in franchise history with at least five hits in a game...Detroit finished 2-for-14 with runners in scoring position.