Roethlisberger went 18-of-30 through the air for the Steelers (3-6), who rebounded from the worst defensive performance in franchise history in last week's 55-31 loss to New England.
Le'Veon Bell added a rushing touchdown as Pittsburgh snapped a two-game losing streak.
Buffalo quarterback EJ Manuel, playing for the first time since Oct. 3 while recovering from a knee injury, was held to 22-of-39 passing for 155 yards with an interception and a touchdown.
Stevie Johnson made three grabs for 48 yards before leaving with a groin injury for the Bills (3-7), who fell to 1-8 all-time in Pittsburgh.
LGBT community has 'bullied the American people': Bachmann
Ohio bar shooting arrested, charged with murder