Leury Garcia and Yasmani Grandal each homered, and the Chicago White Sox grabbed a crucial 12-6 win over the Houston Astros to keep their season alive.