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.
Scarlett Johansson steps out with fiance after pregnancy reveal
Interpol investigating stolen passports on missing flight