Shaq Thompson rushed for 174 yards, Travis Feeney had a 30-yard interception return for a touchdown and Dante Pettis scored on an 87-yard punt return and Washington bulldozed the Colorado Buffaloes 38-23 Saturday.

The Huskies (6-3, 2-3 Pac-12) overcame a 20-17 halftime deficit to snap a two-game skid. The Buffaloes (2-7, 0-6) lost their fifth straight.

The Buffs started out fast for a change, but failed to finish strong even though they slowed Thompson after his big first half in which he ran for 151 yards and a TD on just 10 carries and added a 41-yard reception to set up another score.

He finished with 174 yards on 15 carries for an 11.6-yard average and 215 all-purpose yards in his second straight start in the Huskies' backfield.

The Huskies' first lead came with 5:38 left in the third quarter when Cyler Miles faked a handoff to Thompson, rolled left and found Pettis for a 28-yard touchdown to put Washington ahead 24-23.

That touchdown followed a fumble by Buffaloes running back Phillip Lindsay, who also fumbled the kickoff after Feeney's pick-6 had made it 31-23.

Pettis put the game out of reach when he darted down the Huskies' sideline to make it a 15-point game with 13:10 left.

The Buffs' last gasp ended when Hau'oli Kikaha dumped Sefo Luifau for a sack on fourth-and-8 from the Washington 9 with two minutes left. Kikaha leads the nation with 15 1-2 sacks.

Washington's comeback began when Miles hit Kendyl Taylor from 9 yards in the final minute of the first half to pull Washington to 20-17 at the break.

After getting outscored 45-0 in the first quarter of their past two games, the Buffaloes scored a touchdown on their first drive for the first time all season. Liufau threw a 30-yard strike to D.D. Goodson for a 7-0 lead.

The Huskies looked as if they'd strike right back when Pettis got behind the defense and hauled in a 48-yard catch, but freshman safety Evan White tripped him up at the 10-yard line.

Two plays later, Miles couldn't handle the high, hard shotgun snap and linebacker Kenneth Olugbode recovered.

After Will Oliver's 30-yard field goal made it 10-0, Thompson got free down the left sideline for 39 yards, then took a fourth-and-2 pitch from Miles and cut back for a 24-yard touchdown.

Colorado fullback George Frazier's 1-yard TD catch made it 17-7.

Thompson reeled off a 56-yard run, but the Huskies stalled and settled for Cameron Van Winkle's 35-yard field goal to pull to 17-10.

The Huskies failed to capitalize on a turnover by Liufau deep in his own territory when Miles and Thompson had trouble on the handoff and defensive lineman Jimmie Gilbert recovered for the Buffaloes.

That led to a 39-yard field goal by Oliver, but Thompson responded with his big run and the Huskies were down by just a field goal at the break, then handled the Buffs in the second half.