SANTA CLARA, Calif. (AP) — The Broncos looked beleaguered, beat up and undermanned against the lowly San Francisco 49ers.

Overmatched, too? You bet.

Short-handed they were, and it sure showed. Yet on this day, George Kittle might have been too much even if Denver had been at full strength.

Case Keenum got going too late in a 20-14 loss to San Francisco on Sunday, four days after top target Emmanuel Sanders went down with a torn left Achilles tendon in practice Wednesday.

The Broncos (6-7) were out of sorts early, then trying to play catch-up from a 20-0 deficit that saw Kittle take apart the defense time and again on the way to an 85-yard touchdown catch, 210 yards receiving and becoming the 49ers' first tight end to reach 1,000 yards receiving.

"Simply, we didn't play well, no excuses. We can't point fingers," coach Vance Joseph said. "That team came out and outplayed us, in the first half especially. Our record right now, we're still in it. Every game now is a must win. We haven't talked about that, but we have to now. Every game that we play from now on is a must win."

Phillip Lindsay ran for a 3-yard score in the third then Keenum connected with DaeSean Hamilton on a 1-yard touchdown toss with 3:53 remaining. Keenum went 24 of 42 for 186 yards.

He surely missed Sanders, who led the team with 71 catches for 868 yards and four touchdowns in a bounce-back year. His injury came three days after star cornerback Chris Harris Jr. broke his leg, leaving the Broncos without seven starters from their season opener.

"It's tough," Keenum said. "They're guys you can't replace."

Tim Patrick and Hamilton had seven receptions apiece, Patrick finishing with 85 yards receiving and Hamilton with 47, but most of their production came in the second half playing from way behind.

"We got off to a slow start and then we picked it up in the second half," Patrick said. "We just had to get it going. It was the first time as an offense all together in there. We were kind of shaky in the beginning, but once we got it clicking it was hard to stop us."

Meanwhile, Kittle couldn't be slowed down in the first half, when he had all seven of his catches and 210 yards. He was only targeted once after halftime.

After the game, Joseph reiterated how the Broncos must not beat themselves by falling way behind and making it harder.

Denver had two defensive holding penalties in a four-play span in the first quarter and 11 total penalties for 62 yards.

"We just have to be consistent," nose tackle Shelby Harris said. "We can't go out in the first half and go down 20-0."

There were a few defensive highlights.

Von Miller sacked Nick Mullens for a 9-yard loss late in the second quarter. Including the postseason, Miller's 103½ sacks matched the franchise record held by Simon Fletcher.

Linebacker Bradley Chubb had two more sacks for 12 on the season to break Miller's franchise rookie record of 11½ set in 2011.

Miller was angry about his own miscues.

"I had three false starts, and that's ridiculous," he said. "I'm a gambling man, and I broke today. I didn't play like I'm supposed to today."

Most of the Broncos will be echoing those sentiments.

"Now, it's back to the lab," Miller said.

___

More AP NFL: https://apnews.com/tag/NFL and https://twitter.com/AP_NFL