Conner Weigman threw for 343 yards and tied a career high with five touchdown passes to help No. 20 Houston beat No. 18 Oklahoma State 35-32 on Saturday night for its fourth straight victory.