
On Sunday, December 20, 2015, the Denver Broncos led the Pittsburgh Steelers 27-10 with less than two minutes left in the first half at Heinz Field. Denver had the NFL’s No. 1 defense. Pittsburgh scored the next 24 points and won 34-27. Antonio Brown caught 16 passes for 189 yards and two touchdowns, the second of them the winner with 3:29 left, and Ben Roethlisberger finished 40 of 55 for 380 yards.
The two teams meet again on Black Friday, November 27, 2026, at 3 p.m. ET in Pittsburgh. It will be the first Black Friday game for either team.
The best defense against the hottest offense
Denver came in at 10-3 under first-year coach Gary Kubiak, with Brock Osweiler making his fifth straight start in place of the injured Peyton Manning. The Broncos allowed the fewest points and fewest yards in the league. Pittsburgh was 8-5, had won four of its last five, and was chasing a wild-card spot. The Broncos had not played at Heinz Field since 2006.
“They’re playing really well, probably one of the hotter teams in football,” Kubiak said during the week. “We’ll have to play as good as we can play.”
Eight for eight on third down
Pittsburgh scored first after Will Allen forced a Ronnie Hillman fumble that Mike Mitchell recovered at the Denver 21. Roethlisberger hit DeAngelo Williams for 19 yards, and Williams ran in from the 2.
Then Osweiler took over. He hit Demaryius Thomas for an 18-yard touchdown on third-and-10. Less than two minutes later, against a blitz, he found Emmanuel Sanders, a former Steeler, behind the defense for a 61-yard touchdown. After a Jordan Bush interception, he scrambled 7 yards for a touchdown on third-and-goal. Brandon McManus missed the extra point, so it was 20-7.
Pittsburgh’s answer stalled at the Denver 6 and Chris Boswell kicked a 24-yard field goal. Denver went 80 yards in 10 plays, helped by a 24-yard Sanders run and a 14-yard Hillman run on third-and-1, and Osweiler threw a 6-yard touchdown to Thomas with 2:00 left in the half. It was 27-10. The Broncos had converted all eight of their third downs, and Osweiler had 214 passing yards.
Roethlisberger moved the Steelers 51 yards in the final 1:50, and Boswell’s 41-yard field goal with eight seconds left made it 27-13 at halftime.
“We stopped kicking our own butt”
The Steelers said they changed very little at halftime. “We didn’t change much, to be honest with you,” coach Mike Tomlin said. “We just executed it better.” Asked again about adjustments, he said, “We stopped kicking our own butt probably is the No. 1 adjustment.” Defensive end Cam Heyward was blunter: “We all knew we played [terribly] in the first half. We really just had to wake up.”
Denver’s first three possessions of the second half ended in punts. In between, a 26-yard pass interference penalty on Chris Harris Jr. put the ball at the Denver 9, and Roethlisberger threw a 9-yard touchdown to Brown on the next play. It was 27-20.
Late in the third quarter, Jordan Norwood returned a Pittsburgh punt 71 yards for a touchdown, but the Broncos were flagged for illegal substitution and the score came off the board. Three plays later, Heyward sacked Osweiler on third down.
Brown then caught passes of 11 and 17 yards on the first two plays of the fourth quarter, a roughness penalty on Derek Wolfe moved the ball to the Denver 10, and Roethlisberger found Markus Wheaton for a 9-yard touchdown. With 12:34 left, it was 27-27.
Shazier’s first interception
With 4:28 left, Osweiler threw over the middle for Sanders on second-and-7 from the Denver 27, and linebacker Ryan Shazier caught the first interception of his NFL career. Martavis Bryant caught a 9-yard pass, Williams ran for 5, and on first down from the Denver 23 Roethlisberger threw a post to Brown for the go-ahead touchdown with 3:29 left.
“It was perfect read,” Brown said. “Ben made a great throw. We got the post route. I was able to skim the side of him.”
Denver had one more chance. Roethlisberger was intercepted by Brandon Marshall at the Pittsburgh 41 with 2:08 left, and a replay review upheld the ruling. Osweiler then threw four straight incompletions. On third-and-5 with 1:30 left, Roethlisberger threw to Brown for 8 yards and a first down, and he knelt three times to end it.
| Quarter | Time | Team | Scoring play | Score (DEN-PIT) |
|---|---|---|---|---|
| 1st | 10:21 | PIT | DeAngelo Williams 2-yard run (Chris Boswell kick) | 0-7 |
| 1st | 4:45 | DEN | Demaryius Thomas 18-yard pass from Brock Osweiler (Brandon McManus kick) | 7-7 |
| 1st | 3:16 | DEN | Emmanuel Sanders 61-yard pass from Osweiler (McManus kick) | 14-7 |
| 2nd | 11:36 | DEN | Osweiler 7-yard run (kick failed) | 20-7 |
| 2nd | 7:36 | PIT | Boswell 24-yard field goal | 20-10 |
| 2nd | 2:00 | DEN | Thomas 6-yard pass from Osweiler (McManus kick) | 27-10 |
| 2nd | 0:08 | PIT | Boswell 41-yard field goal | 27-13 |
| 3rd | 7:20 | PIT | Antonio Brown 9-yard pass from Ben Roethlisberger (Boswell kick) | 27-20 |
| 4th | 12:39 | PIT | Markus Wheaton 9-yard pass from Roethlisberger (Boswell kick) | 27-27 |
| 4th | 3:29 | PIT | Brown 23-yard pass from Roethlisberger (Boswell kick) | 27-34 |
Two different halves
Osweiler finished 21 of 44 for 296 yards, three touchdowns and one interception, but he was 7 of 26 for 82 yards after halftime. Denver converted one of nine third downs in the second half and failed on two fourth downs. Brown, covered most of the day by Harris, became the first player since the 1970 merger with two 15-catch games in one season.
| Broncos | Steelers | |
|---|---|---|
| Quarterback | Brock Osweiler | Ben Roethlisberger |
| Completions-attempts | 21-44 | 40-55 |
| Passing yards | 296 | 380 |
| Touchdowns-interceptions | 3-1 | 3-2 |
| Times sacked | 2 | 2 |
| Top receiver | Emmanuel Sanders, 10 for 181 | Antonio Brown, 16 for 189 |
| Top rusher | Ronnie Hillman, 14 for 48 | DeAngelo Williams, 14 for 26 |
| Third downs | 9 of 17 | 7 of 14 |
| Second-half points | 0 | 21 |
“You want to be the best, you’ve got to be the best,” Brown said. “There’s no stopping me.” Kubiak said, “I think we executed really well in the first half. I just don’t think we executed the same way in the second half.”
Roethlisberger said he had told his teammates before kickoff that it was their last regular-season game at home. “We know that our fans bleed for us,” he said. “And we want to go out and give them a show and have fun doing it for the last game here. I think they got their money’s worth.”
Four weeks later, in Denver
The win moved Pittsburgh to 9-5 and into the AFC’s last wild-card spot. The Steelers finished 10-6, won 18-16 in Cincinnati in the wild-card round, and lost Brown to a concussion in that game. They played the divisional round in Denver on January 17, 2016, without him. The Broncos, back with Manning, recovered a fourth-quarter Fitzgerald Toussaint fumble, scored the go-ahead touchdown and won 23-16. Three weeks later, Denver beat Carolina in Super Bowl 50.
Brown finished the 2015 season with 136 catches and 1,834 receiving yards, and he made the All-Pro first team for the second straight year.
Black Friday in Pittsburgh
This time the game sits on the holiday weekend, as our Thanksgiving week guide explains, and both teams are division leaders. Sean Payton’s Broncos (7-2) are on their bye this week after a 16th straight one-score win, and Mike McCarthy’s Steelers (6-2) play in Cincinnati on Sunday night for first place in the AFC North, previewed in our Steelers-Bengals interactive. Pittsburgh then visits Philadelphia in Week 11. Where both teams stand in the AFC race is in the latest playoff picture.
The scoring plays, clock times, drive details and player numbers above come from the official play-by-play and game data. The quotes are from postgame and midweek comments.

No published comments yet. Start the conversation.