Beltre, who went 2-for-4, gave the Rangers a 3-2 lead, and the Texas staff held the Astros scoreless after the second inning en route to their 17th win in their last 21 games.
Rookie Jarred Cosart (1-1) took the loss for Houston. The 23-year-old Cosart, who made his major league debut July 12, allowed three runs on four hits over six innings, allowing more than two runs in a start for the first time in his career. He still owns a 1.60 earned-run average through 45 innings in seven starts.
Houston took an early 2-0 lead on a two-run homer by Matt Dominguez, but Texas cut it to 2-1 in their half of the second on a double by Beltre followed by an RBI single by Alex Rios.