MIAMI GARDENS, Fla. — Thad Lewis completed one pass for a first down even as a blitzing linebacker knocked his helmet off and sent it skittering upfield.

The hit drew a flag and left Lewis sprawled on the turf, but the Buffalo Bills’ young quarterback leaped to his feet screaming and punching the air to celebrate the gain.

Lewis’ resilience proved infectious Sunday. The Bills blew an early 14-point lead, then rallied to kick the winning field goal with 33 seconds left and beat the Miami Dolphins, 23-21.

Mario Williams forced a fumble by sacking Ryan Tannehill with less than three minutes to go, setting up the winning 31-yard kick by Dan Carpenter, who was released in August after five seasons with the Dolphins.

The Bills won in Lewis’ second start since being promoted from the practice squad to replace injured EJ Manuel. Lewis’ fist-pumping after being leveled came when Buffalo trailed 21-17 in the third quarter.

“I was excited,” he said. “I’m not a rah-rah guy, but when you’re down and out, you’ve got to do something to get the team going.”

Lewis was sacked four times and threw an interception, but he threw for 202 yards and helped the Bills convert 9 of 19 third downs.

The defense did the rest. Rookie Nickell Robey returned an interception 19 yards for a touchdown on the third play of the game, and Buffalo turned the tide late with the help of two sacks by Williams.

The injury-plagued Bills (3-4) ended a streak of six road losses, including two this year. But it was a home game of sorts for Lewis, who grew up near the Dolphins’ stadium.

“It meant a lot to get this win,” he said. “Wins are hard to come by in this league. It’s even sweeter to get it at home.”

Miami (3-3) lost its third game in a row. A month ago, the Dolphins were basking in their best start since 2002. They haven’t won since.

“We’re in a tough spot right now,” Tannehill said. “We have to face the adversity and grow from it. There are two ways we can go. We can tank it, or we can turn it around.”

The 99th meeting between the AFC East rivals had one of the wilder endings in the series. With Miami nursing a 21-20 lead, Tannehill tried to throw from midfield but fumbled when sacked by Williams.

“We needed to get the ball back in good field position,” Williams said. “When I came through, I realized I had a shot at it. I thought, ‘There’s the ball.’ Then it came out.”

Kyle Williams recovered at the Miami 34. Carpenter lined up for the winner seven plays later.

Marcus Thigpen nearly broke the ensuing kickoff for a touchdown but was tripped up by Carpenter after a 44-yard return to the Miami 46. Tannehill then threw four consecutive incompletions, his final desperate heave landing in the end zone among a cluster of players as time ran out.