Stafford completed 17 of 26 passes for 249 yards. Ameer Abdullah had 52 rushing yards on 11 carries and a touchdown for the Lions (5-4). Golden Tate caught six passes for 97 yards and a score, while cornerback Nevin Lawson returned a fumble 44 yards for a touchdown.
Cleveland rookie quarterback DeShone Kizer passed for 232 yards and a touchdown and also carried seven times for 57 yards.
Kizer missed two second-half possessions after suffering a rib injury on a third-quarter hit from cornerback Quandre Diggs. He returned with 4:28 remaining.
Isaiah Crowell gained 90 yards on 16 carries and scored a touchdown for the Browns (0-9).
The Browns drove 85 yards following the second-half kickoff to tie the game at 17. Crowell finished it off with a 6-yard run.
Kizer's 1-yard plunge completed an 80-yard drive and gave the Browns the lead later in the quarter.
Rookie Kenny Golladay's 50-yard reception set up an 8-yard scoring pass from Stafford to Theo Riddick, tying the score at 24.
Tight end Eric Ebron's second touchdown of the season moved the Lions back in front after Kizer's injury. He beat the one-on-one coverage of Derrick Kindred on the 29-yard pass play with 10:46 remaining.
Stafford's 40-yard touchdown pass to Tate with 4:28 left gave Detroit a 38-24 advantage.
Cleveland scored the first 10 points of the game, but the Lions rallied to take a 17-10 lead by halftime.
Zane Gonzalez put the Browns on the board with a 23-yard field goal. Linebacker Jamie Collins' interception of a Stafford pass set up Cleveland's first-quarter touchdown. Receiver Kenny Britt caught a short pass, slipped past Lawson and scored on the 19-yard play.
Matt Prater kicked a 46-yard field goal before Abdullah's 8-yard scoring run capped a 90-yard drive to tie it.
Lawson then forced the first turnover of his four-year career, knocking the ball out of tight end Seth DeValve's hands after a 9-yard pass play. Lawson scooped up the ball and raced down the sideline with 3:55 left in the half.
Cleveland drove inside Detroit's 5-yard line in the closing seconds, but the clock expired after Kizer was stopped for no gain at the 2.
NOTES: Lions DE Ziggy Ansah missed the game with a back injury. They were also without starting RG T.J. Lang (concussion), but LT Taylor Decker made his season debut. Decker tore his right labrum in June. ... Detroit is now 16-4 all-time against Cleveland, winning the last four meetings. The teams hadn't faced each other since the 2013 season, when the Lions won at Cleveland, 31-17. ... DT Larry Ogunjobi (groin) and QB Kevin Hogan were among the Browns' inactives. ... QB DeShone Kizer has four rushing touchdowns, the most by a Cleveland quarterback since Brian Sipe had four in 1974.