Peyton Manning threw for 291 yards and three touchdowns -- including the go-ahead score to tight end Joel Dreessen early in the fourth quarter -- as visiting Denver handed Cincinnati its fourth straight loss.
Trindon Holliday returned the second-half kickoff a franchise-record 105 yards for the AFC-West leading Broncos (5-3), who have won three straight games. Manning shook off a pair of third-quarter interceptions and improved to 8-0 against the Bengals (3-5).
Terence Newman's second interception set up BenJarvus Green-Ellis' 2-yard touchdown run, which put the Bengals ahead for the first time at 20-17 with 14:19 remaining in the fourth. But less than three minutes later, Manning responded by leading a five-play, 80-yard drive with laser-like precision.
After Manning's deep pass to Demaryius Thomas drew a pass interference call in the end zone, he hit Dreessen for the go-ahead score with just under 12 minutes left in the fourth.
Champ Bailey intercepted Andy Dalton on the ensuing series and Eric Decker's second touchdown catch - a 4-yarder - made it 31-20 with 3:36 to play. Dalton finished 26-of-42 for 299 yards and star wideout A.J. Green scored for a seventh straight game.
GAME NOTEBOOK: The Broncos led a 10-3 at the half after Manning capped an eight-play, 80-yard drive with a 13-yard touchdown pass to Decker. Manning was 5-of-5 for 73 yards and the highlight of the drive was a perfectly thrown 45-yard pass to Thomas. Thomas leads the NFL with 12 receptions of 25 yards or more. ... Broncos LB Von Miller had two of his three sacks in the first half. ... Bengals TE Jermaine Gresham had six catches for a career-high 108 yards.