Garcia (10-6) struck out seven and scattered four hits across 6 2/3 sharp innings.
“He was very, very aggressive in the strike zone," Astros manager Dusty Baker said. “He was masterful."
Carlos Correa had two hits and two RBI to help the Astros snap a two-game skid and improve to 2-4 against the Royals this season after dropping Monday’s series opener 7-1. Houston lost three of four in Kansas City last week.
Houston’s strong pitching performance cooled off the hot-hitting Royals, who had scored 26 runs during a four-game winning streak.
Royals starter Brady Singer (3-9) permitted seven hits and four runs in five innings, but just one was earned after his defense committed two costly errors in the first.
“You’d like to think when you have an inning like that you’re going to bounce back and it doesn’t set the tone, but it did," Royals manager Mike Matheny said. “Brady did a great job of fighting through, but a couple plays that we normally make (hurt)."
The Astros took a 1-0 lead when Altuve scored on a groundout by Correa.
Aledmys Díaz singled on a ball hit to shortstop Nicky Lopez and he made a throwing error that allowed two more runs to score, making it 3-0.
Correa was happy to see the Astros take advantage of the miscues early after their recent struggles against the Royals.
“It was huge," he said. “We caught a break and scored some runs there and it was enough to win the game."
Kansas City had runners at second and third with none out in the third but failed to score. Michael A. Taylor tried a straight steal of home but was tagged out to end the inning.
“Hitting really does set the tone for our club, and we miss an opportunity like that one, it puts us into a worse spot," Matheny said. “It affects us and unfortunately, we let that slip by."
Gurriel singled to start things off for Houston in the bottom of the third before scoring on a double by Correa that extended the lead to 4-0.
Royals: 1B Carlos Santana was out of the lineup after he was injured running to first base in the ninth inning Monday. Santana has a Grade 1 hip flexor strain and is day-to-day.
Astros: 3B Alex Bregman (left quadriceps strain) worked out at the ballpark after playing a rehabilitation game for Triple-A Sugar Land on Monday night. Bregman will be activated Wednesday, Baker said. ... OF Kyle Tucker was reinstated from the COVID-19 injured list. ... OF Chas McCormick was placed on the IL with left hand soreness. ... RHP Bryan Abreu was recalled from Sugar Land and RHP Pedro Báez was placed on the injured list with right shoulder soreness.
There was a delay with one out in the bottom of the fifth when plate umpire Jim Reynolds had to leave the game. After Díaz popped out, Reynolds walked away from the plate and toward the home dugout. He was met by Houston’s trainer and they and the rest of the umpires talked for a couple of minutes and he drank some water before he left the field with the trainer. Both teams left the field and play resumed a few minutes later with Tony Randazzo, who started the game at second base, at home plate and no umpire at second.
It was unclear why Reynolds had to leave the game, but he did take a pitch to the face mask earlier in the game.
Garcia has been great at home this season, posting a 1.83 ERA with 81 strikeouts in 13 starts. Tuesday was his third consecutive start at Minute Maid in which he did not allow a run, and he's struck out 23 batters in that span.
MLB playoffs 2021: How the Boston Red Sox overcame a COVID outbreak and made it to the ALCS
Within a two-week span that saw a dozen Red Sox players test positive, pulling Bogaerts in the middle of a game was the low point. But the weeks that followed turned around not just Bogaerts' season -- but the entire team's.
Atlanta will look to extend series lead over Los Angeles in Game 2
Atlanta Braves (88-73, first in the NL East) vs. Los Angeles Dodgers (106-56, second in the NL West)
Tired Max Scherzer exits in 5th, Julio Urias pitches 8th as Los Angeles Dodgers lose Game 2 of NLCS to Atlanta Braves
Max Scherzer lasted only into the fifth inning of Sunday's Game 2 of the NLCS after closing out the Dodgers' NLDS victory, and now Julio Urias, L.A.'s Game 4 starter, will face a similar challenge.
Boston faces Houston in Game 3 of ALCS
Houston Astros (95-67, first in the AL West) vs. Boston Red Sox (92-70, second in the AL East)
Eddie Rosario lifts Braves to another walk-off in the 9th
Eddie Rosario's single off the glove of Corey Seager brings home Dansby Swanson, and the Braves walk off to capture a 2-0 NLCS lead.
Ronald Acuna Jr. staying 'positive' through ACL tear recovery, embracing new role as Braves cheerleader
Outfielder Ronald Acuna Jr. can't help his Braves teammates on the field as he recovers from knee surgery, but he was on the field before Sunday's Game 2 of the NLCS, embracing his role as cheerleader and giving a rare bit of insight on his ongoing rehab.