CHARLOTTE, N.C. (AP) -- Ryan Tannehill completed 12 of 15 passes for 102 yards and a touchdown, Damien Williams scored twice for the Miami Dolphins in a 31-30 loss to the Carolina Panthers on Saturday night.

Williams scored on a 1-yard touchdown run and caught an 11-yard TD pass on a slant route from Tannehill.

Williams nearly had a third touchdown, but Dolphins coach Joe Philbin errantly challenged an official's call that the second-year running back was stopped before the goal line after diving for the pylon.

More from FoxSports

When officials reviewed the play, they determined Williams actually fumbled the ball into the end zone.

Instead of the Dolphins taking a 20-0 lead -- or having a second-and-goal at the Carolina 1 had Philbin not challenged -- the Panthers got the ball at the 20 after the touchback.

Carolina's Cam Newton struggled in his first game without wide receiver Kelvin Benjamin, finishing 4 of 10 for 42 yards with an interception.

Benjamin tore his ACL in practice on Wednesday and will miss the season.

Newton did move the offense to the Miami 2 on his final possession, but the Dolphins put together a goal-line stand stopping the Panthers on four straight plays, including a scramble on fourth down by Newton in which he dove for the pylon but came up short.

Newton appeared to be limping slightly on the sideline in the second half, although the team didn't report any injury.

The Dolphins dominated the game early, holding the ball for more than 12 minutes in the first quarter while outgaining the Panthers 116-8.

Tannehill looked sharp in leading two touchdown drives in three possessions. He beat the Panthers with short passes underneath the coverage to his backs. Lamar Miller set up Miami's first score by catching a pass in the flat, faking out Panthers cornerback Josh Norman and racing 36 yards to the Carolina 5.

Joe Webb led three second-half touchdown drives for Carolina.