Before the Broncos game could even start on Sunday, their playoff hopes had shrunk thanks to a Colts win, along with miraculous Dolphins victory. With their loss to the 49ers though, those hopes waned to a mere sliver.

Although the final score doesn’t reflect it, Sunday featured one of the ugliest halves the Broncos have played all season. For the first half, the Broncos looked listless. Their defense was torched by tight end George Kittle to the tune of 210 receiving yards and a score, while their offense was entirely immobile, gaining just 60 yards total.

The Broncos managed to right the ship in the second half, but not enough to dig themselves out of the trench they were in.

Three Up

1. The pass rush, led by linebackers Von Miller and Bradley Chubb, was one of the most effective units on the Broncos’ defense once again today.

Miller finished the game with one sack and three tackles but was constantly in quarterback Nick Mullens‘ face with pressure. Miller’s sack brings his total on the season up to 13.5, second best in the NFL behind the reigning defensive player of the year Aaron Donald. Miller’s sack was also the 97th of his career, which brings him within half a sack of breaking Simon Fletcher‘s team-record for career sacks by a Bronco.

Miller wasn’t the only pass rusher to pass a milestone though. With his two sacks, Bradley Chubb broke Miller’s own franchise-record for sacks by a rookie and now totals 12 on the season. This also puts him among the league’s elite pass-rushers, as he’s now tied with Cameron Jordan and Chandler Jones for the fifth-most sacks in the league. Only Myles Garrett, J.J. Watt, the aforementioned Donald, and Miller have more sacks on the season.

If Chubb can average a sack per game over the Broncos’ last three games–he has averaged 1.31 per game since October 14th–he will break the league rookie record for sacks in a season, held by Jevon Kearse with 14.5.

2. Also helping with Denver’s pass rush was the defensive line, led by Derek Wolfe, Shelby Harris, and Domata Peko. Wolfe wasn’t as impactful as he normally is, thanks to a rib injury that, according to him, “Felt like somebody stabbing me with a knife.” This led to him missing some snaps, but in his absence, Peko, Harris, and replacement Adam Gotsis shined.

Gotsis and Peko met at Mullens to split a sack between the two big men. Harris got a tackle for loss of his own and came up with two huge pass deflections. One came at the line of scrimmage, the other in the backfield on a screen that was inches away from becoming the interior lineman’s second interception of the season.

3. The young Broncos receivers also deserve some credit. Rookie Courtland Sutton‘s performance as a sub-par, 14 yards on two receptions, but fellow rookie DaeSean Hamilton and second-year receiver Tim Patrick played excellently.

Patrick got things started for Denver’s offense on their third drive by taking an end-around for ten yards and drawing a flag for tripping on the tackle. That play gained more yardage than the entire Broncos’ offense did on their first two drives. Patrick wasn’t done though, as his 85 yards on seven receptions led the team. Watch out, the Broncos mayhave just found another gem in the former Ute.

Hamilton had a nice game in his own right. His seven receptions tied Patrick for the team lead and he managed to bring in the lone receiving touchdown, the first of his young career. Most impressive though, Hamilton showed his grit by managing to hold onto the ball after taking a nasty hit late in the game.

Three down

1. The secondary and their inability to cover tight ends starts off the down side of things.

The Broncos have struggled to defend against the league’s best tight ends for years now and Sunday was the climax of that problem. Second-year tight end George Kittle was the 49ers offense in the first half, gaining 210 of their 260 offensive yards himself. That included receptions of 31, 52, and 85 yards, but doesn’t include the three defensive holding penalties Kittle was able to draw to keep San Francisco drives alive.

It’s lucky Denver adjusted in the second half and managed to hold him without a reception, as his first half outing was enough to bring him within five yards of the most in a single game by a tight end in NFL history.

2. Not quite as damaging, but equally disappointing was running back Phillip Lindsay‘s performance against the 49ers. In many of the games this season, Lindsay has been the motor that’s moved Denver’s offense. Without Emmanuel Sanders in the lineup, that responsibility only grew, and Lindsay shrunk.

In the first half, Lindsay was held to a meager three yards on five attempts. A wild sight for the running back who’s been the best back in terms of yards per carry for much of the season. The lanes opened up in the second half but it remained tough sledding for Lindsay, who would finish the game with just 30 yards on 2.1 yards per carry. It was one of the few, if not the only times this season when Royce Freeman (36 yards on six carries) outshined his running mate.

3. Lastly is quarterback Case Keenum, who struggled through one of his worst games, when his team needed him most, against a bad opponent.

Though that really doesn’t do it justice. Keenum threw the ball 42 times for the Broncos and managed to gain a paltry 186 yards. Before this season of offensive explosion, anything under five yards per attempt was considered bad, now it’s practically unheard of.

Keenum has thrown under 190 yards just two other times this season, against the Bengals and against the Cardinals. In those two games combined, Keenum has the exact same number of attempts he did today against the 49ers. Keenum threw for just 35 more yards than he did against the Bengals, despite having the exact same completion percentage and twice as many attempts.

Not only that, but it came against a coverage unit that was the worst in the league according to Pro Football Focus, the worst by a substantial margin. Their grade of 39.0 was one of just two coverage grades under 62, and the only under 40. In fact, their grade of 39.0 was the very worst among all teams, across all 13 categories PFF grades, not just coverage, and was one of just three under 45 out of a data set of 416 different grades.