SANTA CLARA, Calif. -- It didn't take long for the momentum established by the Broncos during their three-game winning streak to evaporate like the fog that cleared over the San Francisco Bay Area by midday Sunday.
After receiving the opening kickoff, San Francisco established the tone it would maintain for the rest of the afternoon, using two passes to tight end George Kittle and three doses of running back Jeff Wilson Jr. to sprint into scoring range. Although the Broncos stopped the advance at their 22-yard line, the 49ers turned the 56-yard march into a field goal, and had a lead they would never relinquish.
By halftime, the 49ers led 20-0, an edge built on massive advantages in total yardage (311-65), first downs (19-7) and yards per play (8.0-2.5).
A second-half rally gave the Broncos a chance in the final moments, but two third-down conversions by the 49ers stopped the comeback cold, dooming the Broncos to a 20-14 defeat that dropped them to 6-7 and dealt their once-brightening postseason hopes a crushing blow.
"When you have the chance to play a 2-10 team, you have to put them away, and our mindset wasn't right today," safety Darian Stewart said. "We talked about dominating them, and they came out and sure handled their business against us."
Why did the Broncos lose Sunday?
Because the Broncos had no answer for George Kittle
Tight ends have made big plays against the Broncos this year, most notably during a three-game stretch from the Week 8 loss at Kansas City to the Week 11 win over the Chargers. Denver allowed a tight end to score in each of those games.
But what happened Sunday went far beyond even the worst nightmares of Broncos fans, as Kittle spent the first half getting wide open and making Denver pay, accumulating 210 yards on seven receptions -- the highest first-half yardage total amassed by a pass catcher in 27 years, according to CBS' game broadcast.
Kittle alone accounted for 67.5 percent of the 49ers' total yardage in the first half. He had no receptions after halftime, and not coincidentally, the Broncos kept the 49ers off the scoreboard in the second half.
"We just handled our business and stopped [messing around]," Stewart said. "That was some b.s., what we were putting out there in the first half. I don't know what was going on, but we just had to be better."
To safety Su'a Cravens, the difference in the second half was clear.
"We went zone," he said.
But by then, the Broncos had dug themselves into a hole from which they could not escape.
Because the Broncos couldn't keep themselves out of third-and-long
Denver opened the game by converting just one of its first nine third-down plays, a failure caused by its struggles on first and second downs, which frequently put the Broncos in long-yardage situations.
In the first half, the Broncos faced seven third-down plays. One ended in a roughing-the-passer penalty against the 49ers that kept a drive alive. Of the other six, the Broncos converted just one -- via a 16-yard run by Keenum.
A sack on third-and-11 to conclude the Broncos' opening possession of the second half poured more acid on the wound, ensuring that the Broncos' first eight third-down plays required an average of 9.8 yards needed to reach the line to gain.
The Broncos finished the game 2-of-15 on third downs. That, along with their multi-score deficit, led them to go for it seven times on fourth downs in the second half as they attempted to mount a comeback.
Denver converted five of those fourth-down plays and went 3-for-3 on its final drive, including the 1-yard, fourth-and-goal touchdown pass from Case Keenum to DaeSean Hamilton with 3:53 remaining in the game.
Because the Broncos couldn't get a third-down stop when it mattered most
San Francisco had converted just two of 10 third-down attempts heading into its final possession, including an 0-for-4 mark in the second half. And when a false-start penalty forced the 49ers into third-and-8 with 3:39 remaining, it looked like the Broncos had their foe where they wanted them.
But all that changed changed when Nick Mullens found an open Dante Pettis down the right seam 18 yards downfield. Pettis added another 18 yards after the catch, moving the 49ers to the Denver 46-yard line.
Because the Broncos had unsuccessfully challenged a Mullens-to-Marquis Goodwin connection earlier in the possession, the Broncos had just one timeout remaining. They used it on the next play, and when Mullens hit Trent Taylor for 7 yards on a subsequent third-and-4 play, the 49ers were in position to drain the clock with three kneeldowns.
Because Denver couldn't sustain a consistent ground game
Good penetration from San Francisco's defensive line frequently forced Phillip Lindsay and Royce Freeman to face a horde of defenders immediately upon taking handoffs from Case Keenum, and the Broncos' vital ground game struggled to gain traction as a result.
Denver finished the game with a 3.8-yards-per-carry average that was its lowest since Week 9, and Lindsay and Freeman combined for 66 yards on 20 attempts -- with 23 of the yards coming on a single fourth-quarter Freeman gallop off right tackle that was the Broncos' only gain of more than 20 yards all day.
San Francisco's ground game wasn't particularly effective, as the 49ers mustered 90 yards on 26 attempts prior to four Mullen kneeldowns after the two-minute warning at the end of the first half. But the 49ers did run often enough to hit a statistical milestone, as they ran on 45.4 percent of their carries. Under Kyle Shanahan, the 49ers are now 8-3 when they run at least 45 percent of the time, and 1-17 when they fail to reach that percentage benchmark.
#DENvsSF: In-game photos
Photos from Broncos photographers from the Broncos' Week 14 game against the 49ers at Levi's Stadium.
Denver Broncos action against the San Fransisco 49ers during the game at Levi's Stadium in Santa Clara, California, December 09, 2018.
Photo by Gabriel Christus