– Dallas Keuchel's perfect performance at home this year has the upstart Houston Astros one victory away from the American League Championship Series.

Keuchel remained undefeated at Minute Maid Park with seven gutsy innings, leading the Astros to a 4-2 victory over the Kansas City Royals for a 2-1 edge in their AL Division Series.

The Astros could wrap up the best-of-five matchup with a victory at home over the defending AL champions in Game 4 on Monday.

Houston's remarkable run comes just two years after the team lost a franchise-worst 111 games in a third consecutive 100-loss season.

"I think that success is a lot more sweet when you kind of go through hardship like we did the first couple years that I was up here," Keuchel said. "But it's really not a confidence that has grown. It's been here the whole time ... just now that we're getting to the playoffs and on a national stage ... it's a shock to a lot of people."

Keuchel, who shut down the Yankees in the AL wild-card game Tuesday in New York, worked out of jam after jam, giving up five hits and one run with seven strikeouts after going 15-0 at home this season, a modern major league record. He has a 1.45 ERA in 19 starts at home this year.

"The ball in Dallas Keuchel's hand brings an awful lot of confidence to a lot of people. Including me," Astros manager A.J. Hinch said. "And he came up with some excellent pitches."

Luke Gregerson gave up a leadoff homer in the ninth to Alex Gordon before finishing off with a four-out save. It was his first save of more than three outs in three years.

Jason Castro drove in two runs off Edinson Volquez with a fifth-inning single that made it 2-1. Carlos Gomez, who has a rib muscle strain, started for the first time in the series and had an RBI single in the sixth.

Chris Carter added a soaring solo homer, which landed on the train tracks atop the wall in left-center. It came on Danny Duffy's first pitch of the seventh inning and pushed the lead to 4-1.

Carter, batting .199 in the regular season but .455 in the postseason, was a triple shy of the cycle for the Astros, who were hosting a playoff game for the first time since they were swept by the Chicago White Sox in the 2005 World Series, when Houston was in the National League.

"After struggling so much this year and just having the success I've been having in the last couple of weeks, it's been nice to contribute and helps us win games," Carter said.

Lorenzo Cain hit a home run in the fourth for the Royals, who are on the brink of elimination after reaching the World Series as a wild-card team last season.

"We have to stay confident," Cain said. "See what happens tomorrow, come ready to go and give it our all."