Hodges, who replaced Mason Rudolph in last week's win over the Cincinnati Bengals following his struggles, threw for 212 yards with a touchdown and an interception to avenge the Steelers' brawl-filled loss in Cleveland two weeks ago.
With the win, the Steelers (7-5) remain in the middle of the AFC playoff hunt. Hodges, a champion duck caller in his free time, improved to 2-0 as the team's starting quarterback.
"I've always believed in myself," Hodges told reporters. "I know I have people in my corner who believed in me. Even the guys on the team, when I was let go, I had a bunch of them text me and say, 'Hey, this isn't over for you.'"
Steelers rookie running back Benny Snell galloped for 63 yards and a touchdown on 16 carries against the Browns. Jaylen Samuels added seven carries for 32 yards and two receptions for 22 yards.
The Browns grabbed a 10-0 lead midway through the second quarter but struggled to generate points for the remainder of the game. The loss snapped Cleveland's (5-7) three-game winning streak.
Baker Mayfield completed 18-of-32 passes for 196 yards with a touchdown and an interception. Jarvis Landry had team highs in receptions (six) and receiving yards (76), while Odell Beckham Jr. was held to three catches for 29 yards on six targets.
Nick Chubb carried the ball 16 times for 58 yards. Backup tailback Kareem Hunt had seven rushes for 46 yards and added five receptions for 19 yards and a touchdown.
The Steelers will visit the Arizona Cardinals next Sunday. The Browns will host the Cincinnati Bengals next week.