Omar Infante homered and drove in two runs for the Royals.
Ventura, an elite prospect with a 100 mph fastball, allowed four hits and one earned run with seven strikeouts in seven innings both career highs in his fifth major league start.
Infante had a solo shot in the first inning off Lucas Harrell and added an RBI in the third inning as the Royals found some offense after managing just five runs combined as they were swept in a weekend series at Minnesota.
Eric Hosmer and Billy Butler had an RBI each for Kansas City and Lorenzo Cain had a pair of hits for his fourth multi-hit game this season.
The Royals and Astros play game two of their three game series on Wednesday night at 7:10pm at Minute Maid Park in Houston. Coverage on NewsRadio 1350 KMAN begins at 6:30 from the Royals Radio Network.