Yordan Alvarez hit a two-run homer and a grand slam in the first inning, becoming the eighth player in MLB history to combine a multi-run homer and grand slam in the same inning.
Houston turned that burst into a 9-0 lead, with Christian Walker adding a homer and the Astros stringing together a two-out rally before Alvarez's second at-bat chased Royals starter Luinder Avila.
Kansas City answered with 5 runs in the bottom of the first and kept chipping away, but Houston held on for a 10-8 win at Kauffman Stadium.
Alvarez finished 3-for-5 with 6 RBIs and 24 homers, tying Kyle Schwarber for the major league lead while boosting his AL MVP case.