Lorenzo Cain\

Lorenzo Cain\

Dallas Keuchel had seven strikeouts over eight scoreless innings and George Springer belted a two-run homer to help Houston to a 4-0 victory over the Kansas City Royals on Tuesday.

Keuchel (10-3), who was coming off his second shutout of the season when he struck out a career-best 12 batters against the Yankees on Thursday, scattered seven hits in his showing Tuesday night. He’s 8-0 at home this season.

“It’s never easy to take Dallas Keuchel out of a game,” Astros manager A.J. Hinch said. “He was a little tired in my eyes, but not in his eyes. I’ve got to balance the short term and the long term.”

Pat Neshek threw the final inning for the Astros, who received sparkling pitching for a third straight contest. They’ve allowed just two runs during their three-game winning streak.

Danny Duffy (2-4) was charged with four runs on six hits over 6 2/3 innings as the Royals dropped their second in a row following a four-game winning streak.

“He elevated a couple of pitches they didn’t miss,” Royals manager Ned Yost said. “For the most part, I thought he threw the ball really well.”

Lorenzo Cain had a pair of doubles among his three hits, but Kansas City failed on all five of its chances with men in scoring position.

Salvador Perez grounded out to strand runners at second and third in the first inning and Springer homered to left with Marwin Gonzalez aboard in the third.

Evan Gattis tripled in the fourth and scored on a Duffy wild pitch.

Jose Altuve’s double scored Springer in the fifth.