ORCHARD PARK, N.Y. (AP) — Rookie cornerback Tre'Davious White forced and recovered a fumble to set up Stephen Hauschka's 30-yard field goal with 14 seconds remaining and the Buffalo Bills beat the Tampa Bay Buccaneers 30-27 Sunday.

LeSean McCoy had 91 yards rushing and scored twice including a 7-yard run to tie the score with 2:28 remaining. Tyrod Taylor went 20 of 33 for 268 yards and a touchdown, while Buffalo's defense forced three turnovers.

Coming out of its bye week, Buffalo improved to 4-2 under rookie head coach Sean McDermott. It marks just the fourth time the Bills have won at least four of their first six games during its 17-year playoff drought.

Jameis Winston showed no signs of a sprained throwing shoulder that sidelined him during the first drive of a 38-33 loss at Arizona last weekend. Winston finished 32 of 44 for 384 yards passing and three touchdowns. He threw an interception and also lost a fumble.

Rookie tight end O.J. Howard caught two touchdown passes for the Buccaneers (2-4), who have lost three straight.

A week after falling behind 31-0 to Arizona through three quarters, Tampa Bay was unable to hold a lead in the final minutes. The Buccaneers rallied from a 17-6 deficit to take a 27-20 lead with 3:14 left when Mike Evans scored on a 12-yard catch.

The Bills responded with a three-play drive capped by McCoy's touchdown run up the middle. Taylor keyed the drive with a 44-yard pass to newly signed receiver Deonte Thompson.

The game turned on the Buccaneers' first play from scrimmage on its possession.

Tampa Bay receiver Adam Humphries caught a pass and was running up the right sideline when he was stripped of the ball by White.

The Bills ran six plays before Hauschka hit his third field goal.