It was the second straight game the Astros scored 13 runs.
They have won seven consecutive games and are 19-7 in their past 26 games.
The Royals used catcher Drew Butera in the ninth for the final two outs. It was the fourth time Butera has pitched in the majors, the previous being May 17, 2014 while with the Los Angeles Dodgers at Arizona.
Altuve and Correa hit back-to-back homers in a seven-run second as the Astros jumped out a big lead they would never relinquish.
Alex Gordon homered and doubled in his first game off the disabled list for the Royals.
After the Astros scored 12 runs in the first two innings Friday night, they jumped out to a 7-0 lead over the Royals with a seven-run second inning Saturday.
Royals right-hander Chris Young began the inning by walking Colby Rasmus and A.J. Reed on 10 pitches. Luis Valbuena's double off the right-field fence scored both. Valbuena stopped at third on Jason Castro's single.
After Young struck out George Springer for his career 1,000th strikeout, Marwin Gonzalez's infield single off Young scored Valbuena.
That brought a mound visit from pitching coach Dave Eiland, but Jose Altuve deposited Young's next offering over the left-field fence for a three-run homer. Two pitches later, Carlos Correa homered, the fourth time this season the Astros have hit back-to-back homers.
Young failed to make it out of the third when he walked the first two batters. He was replaced by Peter Moylan with one out in the inning. Young's final line: 2 1/3 innings, seven runs on seven hits -- two home runs -- four walks and two strikeouts. He has given up a major league-leading 21 home runs.
Rookies Cheslor Cuthbert and Whit Merrifield opened the Royals' third with singles. Cuthbert wound up scoring on a Lorenzo Cain fielder's choice grounder.
The Astros answered with two runs in the fourth. Gonzalez led off the inning with a prodigious home run to right -- an estimated 434 feet. Reed's sacrifice fly scored Altuve with the other run.
Cuthbert, who drove in three runs Friday, singled home Kendrys Morales in the fourth. The inning ended with Alex Gordon grounding out with the bases loaded.
Astros starter Mike Fiers was gifted with a 9-1 lead going into the bottom of the fourth, but failed to make it through the fifth to pick up the victory. After Kendrys Morales' one-out run-producing single in the fifth, Michael Feliz replaced Fiers. For the second straight inning, the Royals left the bases loaded with Cuthbert's fly out ending the inning.
Fiers threw 94 pitches, giving up three runs (two earned) on nine hits, three walks and a hit batter in 4 1/3 innings.
NOTES: LF Alex Gordon was activated from the disabled list after breaking his right wrist on May 22 at the Chicago White Sox. Gordon batted second, while SS Alcides Escobar was dropped from second to the eighth slot. The Royals optioned OF Brett Eibner to Triple-A Omaha. ... The Astros designated for assignment C Alfredo Gonzalez, who was hitting .158 with Double-A Corpus Christi, to make room on the 40-man roster for 1B A.J. Reed, who had his contract purchased from Triple-A Fresno. Reed, who hit .311 in 45 at-bats in spring training, started at DH. Reed said he about 20 family members driving in from his hometown, Terre Haute, Ind., for his major league debut. ... 3B Luis Valbuena, who left after one inning Friday with lower back tightness, was back in the Astros' lineup. ... Astros RHP Doug Fister and Royals RHP Ian Kennedy are the Sunday probables for the series finale. Fister has won his past seven decisions, but lost to the Royals on April 14.