Kansas City took the lead when Alcides Escobar tripled off Will Harris (0-1) to open the seventh and Zobrist followed with his single through the left side.
Kelvin Herrera (1-0) and Ryan Madson each tossed a scoreless inning of relief for the Royals, and Davis came on to close it.
Davis walked Preston Tucker with one out. Pinch-runner Carlos Gomez was initially ruled safe when he made a dive back into first base, but the call was overturned upon review. Davis got Jose Altuve to ground out to end it.
Game 3 is Sunday at Houston. Astros ace Dallas Keuchel, who was 15-0 at home this season, starts against Edinson Volquez.