Austin Slater singled off Houston reliever Rafael Montero to cap a three-run 10th inning, as San Francisco rallied to beat the Astros 4-3 on Monday night.