TAMPA — Had it all the way.

Man, are the Browns bad.

Man, the Bucs are, too.

It was an awful affair. The Bucs couldn't get away. The Browns wouldn't go away. Overtime.

This game deserved to end in a tie.

No.

Meet the hero, Chandler Catanzaro, whose 59-yarder won the game in overtime.

This after his missed extra point set up this hot mess and his field goal miss at time expired sent us into extra time.

Figured.

Baker Mayfield looked like a rookie quarterback can look sometimes. Jameis Winston looked like a fourth-year quarterback whose clock is ticking. He played up to some moments and down to some others. But he lowered himself to the occasion with that overtime pick and two consecutive sacks. And didn't pay for it.

The Bucs defense looked revived after the firing of Mike Smith, invigorated under the new man, Mark Duffner, who pitched a first-half shutout. Then the Bucs gave it up, all of it.

And then they won.

The flying coffin is back in the hangar.

What a comeback

Catanzaro emerged from this crazed game as the man of the hour. Who thought he'd hit that kick? Someone did. He is among the suspects. Grade: C.

Too safe, then sorry.

The Bucs were way too conservative near the end of regulation against a hot, tired Cleveland defense. They plowed ahead to set up Catanzaro — and look where that got them. Grade: D.

This is (mostly) how defenses should look

Mark Duffner didn't switch up much in his debut, but his defense played with real juice, despite no Gerald McCoy, no Vinny Curry. It pressured Mayfield and didn't let Cleveland's run game keep things honest. The Bucs secondary was not picked apart. Everyone hung in. The Bucs stopped Mayfield and the Browns on downs just before halftime after a Cameron Brate fumble, with a comical Mayfield fumble for good measure. The second half? Hey, they're the Bucs. The Browns crawled back in an had a chance to tie it, but were stuffed on fourth and goal by Lavonte David, among others. And there was that big sack by Carl Nassib in overtime (his second of the game). Grade: B

JPP and the fellas

It's not as if the Bucs have a lot of sacks this season, but they had four through three quarters on Sunday — and Jason Pierre-Paul has six of them. JPP led the way Sunday, without McCoy and Curry, setting the tone early for the Bucs by sacking Mayfield on Cleveland's first possession. Grade: B.

When in doubt, run for it

Winston finally found a way to get the ball to DeSean Jackson: hand it to him. Jackson went around left end for his first rushing touchdown since 2010. Grade: B

Two points isn’t enough

Safeties in the NFL are undervalued. They should be worth at least four points. They deserve attention, especially after the Bucs couldn't run it forward from their own 1-yard line, then threw in a half-the-distance false start (ladies and gentlemen, Mr. Antony Auclair), before Peyton Barber was stuffed in his own end zone. Grade: F

On the board

After sitting out early this season, rookie running back Ronald Jones saw real action. He broke off a nine-yard run. He ran for a four-yard loss on the next play. But Jones did score his first NFL touchdown on a short run late in the third quarter to pad the Bucs' lead. Big things were expected from Jones when he was drafted. This was a small thing, but it was a start. Grade: B

Good teams don’t do this

Two interceptions and two fumbles on Sunday, and it could have been five turnovers, but officials instead ruled it an incompletion. This is no way to win football games. Grade: F

Read: They’re not the Baltimore Browns

Bless the Brownies and their fans, but you'd think the orange helmets and brown jerseys would be enough identifying marks. Do the Browns really need "Cleveland" on their shirts? Seems a little bit of overkill. On the other hand, nobody ever moved our team to someplace else, did they? No, not even when you begged. Grade: D

Contact Martin Fennelly at mfennelly@tampabay.com. Follow @mjfennelly