The San Francisco 49ers managed to upset the surging Denver Broncos in Week 14, walking away with a 20-14 victory thanks to tight end George Kittle's record-breaking performance.


It's not likely the now-6-7 Denver Broncos are heading to the playoffs this season. Not after the San Francisco 49ers pulled off a 20-14 upset over a team that had won three games in a row, albeit without some offensive playmaking help after losing wide receiver Emmanuel Sanders to a season-ending Achilles injury earlier this week.

Instead, Niners tight end George Kittle ended up being the star, breaking former 49ers tight end Vernon Davis' single-season franchise record for receiving yards among tight ends. Davis recorded 965 back in 2009, and Kittle needed 73 to break that record.

Well, he did.

Kittle's outstanding performance, all of which came in the first half, was pretty special. But he wasn't the only reason why San Francisco beat Denver in Week 14.

Let's grade out the rest of the positions, shall we?

Quarterback


It was good to see quarterback Nick Mullens hold his own against one of the better pass rushes in the NFL, particularly with Broncos edge rushers Von Miller and Bradley Chubb. While Mullens was sacked three times, he still managed to toss for 20 completions on 33 attempts for 332 yards, two touchdowns against an interception.

All for a passer rating of 102.1.

Mullens had a slight gaffe and the end of the game with time running down, taking the victory-formation snap a bit too early, resulting in there being an extra four seconds on the clock with the Broncos getting the ball. It mattered not, but Mullens will learn from it, sure.

"I'll go back and watch it, see how the time played out or whatever," Mullens told reporters afterwards. "But I'm pretty mad at myself, yeah."

Grade: B

Running Back


With Matt Breida (ankle) out, undrafted rookie Jeff Wilson got the bulk of action for the 49ers on the ground. He managed to rush for 90 yards on 23 carries, averaging 3.9 yards per rush in the process.

Grade: B

Wide Receiver


Having Marquise Goodwin back in the lineup sure helps. The Broncos were forced to recognize the speedy wideout's deep-play capabilities, which were absent from head coach Kyle Shanahan's offense over the last two weeks, as Goodwin was out with a personal issue.

And while Goodwin's presence helped a lot, fellow wide receiver Dante Pettis actually ended up being the primary positional beneficiary, hauling in three catches for 49 yards and a pretty nifty touchdown to close out the first half:


Pettis also made a key fourth-quarter catch on third down, which prevented the 49ers from having to punt, while clinging to a six-point lead.

"We made a few plays when we needed to and came out on top." Pettis said after the game.

Grade: A-

Tight End


Kittle managed 210 yards on seven catches, shattering Davis' previous franchise record and also cementing himself as the first 49ers pass catcher to record 1,000-plus receiving yards in a season since wide receiver Anquan Boldin did so back in 2014.

It gets better, though.

Kittle missed a 2002 single-game record for tight ends set by the Broncos' Shannon Sharpe by four yards.

Yes, four yards. So one might understand why Kittle joked a bit about not getting the ball in the second half after getting all 210 of his yards in the first two quarters:


"Halfway through the fourth quarter someone told me that," Kittle said. "I was like, 'Oh really, that would be fun.' Next time."

Grade: A+

Offensive Line


Left guard Laken Tomlinson gave up one of those sacks, missing a block on Chubb. And Miller managed to force right tackle Mike McGlinchey to cross set, thereby falling down and allowing the perennial Pro Bowler to get to Mullens.

Overall, though, San Francisco's offensive line held up well enough against a still-potent Denver defense.

Grade: B-

Defensive Line


If the Niners' goal was to stop Broncos running back Phillip Lindsay, particularly with Sanders out, they did so. Lindsay, who entered Week 14 with a league-best 6.1 yards per carry and 937 rush yards, managed a mere 30 yards and 14 carries, slowed to just 2.1 yards per rush.

While he did have a 3-yard rush touchdown in the game, it's pretty safe to say Lindsay had minimal impact beyond the point of the attack.

"We put a big emphasis this week on stopping the run," 49ers defensive tackle DeForest Buckner, who had three tackles and a quarterback hit, said after the game. "It was a big deal on all levels of the defense, setting the edge. We did that today and we were happy to have this opportunity, especially against a good run team like Denver."

Defensive tackle Ronald Blair also added a sack.

"The guys up front are animals," cornerback Richard Sherman added. "They played so disciplined and never get enough credit."

Grade: A-

Linebacker


Elijah Lee played particularly well during the game, managing four combined tackles and picking up a pass deflection too. In the wake of former 49ers linebacker Reuben Foster's release, it's looking as if this young and budding corps is beginning to find some chemistry together.

Rookie linebacker Fred Warner also managed four combined tackles, helping limit any of the few gains Denver's rush game got beyond the line of scrimmage.

Grade: B

Secondary


It wasn't always perfect. Sherman bit on a play fake and was burned for 23 yards. But that wasn't too bad of a mistake. And fellow cornerback Ahkello Witherspoon showed notable improvement over what has been a frustrating sophomore season, flashing good coverage and staying with his receivers without committing pass-interference penalties.

Yet the two biggest standouts amid the 49ers defensive backfield were safety Marcell Harris and nickel cornerback D.J. Reed.

Harris, who missed three tackles during the Niners' 43-16 Week 13 loss to the Seahawks, didn't miss any against the Broncos and managed five takedowns, two of which were for a loss. He looked sharp.

Meanwhile, Reed led all San Francisco defenders with 10 tackles, three of which were for a loss, and a sack of Broncos quarterback Case Keenum off a blitz.

Grade: A-

Special Teams


Richie James muffed another punt. And after doing the same last week, it will be highly unusual for Shanahan to go back to him again. Trent Taylor took over punt return duties after James' gaffe.

Kicker Robbie Gould made both of his field goals, which is good. And punter Bradley Pinion landed one of his five punts inside the Broncos' 20-yard line, which helped matters in the second half too.

Grade: C+

Coaching


The 49ers did clean up a number of things in Week 14. After allowing the Seattle Seahawks to rush for a whopping 168 yards last week, the Niners defensive game plan kept Lindsay from making a major difference.

It wasn't always easy, especially considering the Broncos attempted seven fourth-down conversion attempts.

San Francisco still had a bit of a penalty problem, though, committing 11 for 87 yards. But Denver also committed an equal number of penalties too, and many aided the Niners' efforts. Especially on the first-half scoring drives.

Shanahan's second-half offense didn't generate any results. Or points, for that matter. But at least his defense didn't totally collapse, and the team managed to avoid another fourth-quarter meltdown.

"I'm learning wins are hard to come by in the NFL," Pettis admitted to the media after the game. "So many things can go wrong. We're very excited to get this one."

Progress. That's good.