Weeden tossed for 231 yards while defenders Sheldon and Billy Winn each ran in a Bengals turnover for a score in sparking the Browns (1-5) to their initial victory of the season.
Montario Hardesty compiled 56 yards with a touchdown on 15 carries and Josh Gordon also found the end zone en route to 99 yards on three receptions for Cleveland.
Browns rookie running back Trent Richardson left the game with an injury after carrying 14 times for 37 yards.
The Bengals (3-3) were led by Andy Dalton, who completed 31-of-46 passes for 381 yards with three touchdowns but was picked off three times in the defeat.
Jordana Brewster on Paul Walker: 'He was an enormous presence in my life'
Exploding whale video goes viral on Internet