Brown's 12-yard reception from Ben Roethlisberger with 2:24 remaining in the first period put the Steelers ahead 14-0.
After the Bengals went 3-and-out on the ensuing possession, Brown ran back Kevin Huber's punt for another score. Huber was hit hard by Pittsburgh's Terence Garvin during the runback, suffering a fractured jaw.
Brown finished with five catches for 66 yards.
Roethlisberger completed 20-of-25 passes for 191 yards with a TD and an interception for the Steelers (6-8), who snapped a two-game losing streak and kept their slim playoff hopes alive.
Andy Dalton went 25-for-44 for 230 passing yards and two touchdowns for the Bengals (9-5), whose playoff chances remain undecided.
Marvin Jones led Cincinnati's receiving corps with five catches for 48 yards and a score.