SANTA CLARA, Calif. -- Kyle Shanahan pulled aside his star tight end and apologized to George Kittle for not getting him more opportunities in the second half to set an NFL record.
The coach even said sorry a second time.
Quarterback Nick Mullens placed the blame on himself after Kittle fell 4 yards short of Shannon Sharpe's NFL record by a tight end of 214 yards receiving.
Kittle still had a brilliant Sunday afternoon, making an 85-yard touchdown reception on the way to 210 yards receiving and becoming the 49ers' first tight end to reach the 1,000-yard milestone to lead San Francisco past the sluggish, injury-plagued Denver Broncos 20-14.
"Four yards, ahhh, it's all right," Kittle shrugged nonchalantly, unfazed by a near miss. "Next time. Just talk to Nick and Coach Shanahan, they'll figure it out."
Kittle's long TD reception on a pass from Mullens early in the second quarter put the Niners up 13-0 -- "George flashed in my eyes," his QB said -- and Denver (6-7) never found a groove in seeing its three-game winning streak snapped.
Kittle had all of his yards and seven receptions in the first half and was targeted just once after halftime. Again, no big deal.
"We won. That's about all that matters," Kittle said.
Dante Pettis added a 1-yard touchdown reception just before halftime for the Niners (3-10).
But this was Kittle's sparkling afternoon from the very start. He has provided a major lift for an offense that dealt with the blow of losing starting quarterback Jimmy Garoppolo to a torn anterior cruciate ligament in his left knee in Week 3 at Kansas City.
"We had one blown coverage, and a couple where we just didn't cover him," Broncos coach Vance Joseph said.
Mullens connected on eight of his first 12 throws for 124 yards and wound up 20 of 33 for 332 yards and a 102.1 rating.
"George had one heck of a day, 4 yards short of the record. You can blame that on me, I guess," Mullens said.
Denver (6-7), which sought its first four-game winning streak since starting the 2016 season 4-0, fell behind 20-0 at halftime then managed two second-half touchdowns to make things interesting.
San Francisco ended a three-game skid. The 49ers had lost their previous two games by 18 and 27 points, including a 43-16 defeat at rival Seattle last week.
Denver's Von Miller sacked Mullens for a 9-yard loss late in the second quarter. Including the postseason, Miller's 103 1/2 sacks matched the franchise record held by Simon Fletcher.
Meanwhile, linebacker Bradley Chubb had two more sacks for 12 on the season to break Miller's franchise rookie record of 11 1/2 set in 2011.
The previous time any 49ers player had 1,000 yards was in 2014, when Anquan Boldin had 1,062 yards receiving and Frank Gore 1,106 yards rushing.
In addition, Kittle's 52-yard catch and run to end the first quarter moved him past Vernon Davis for the 49ers franchise record for yards receiving by a tight end in a season.
Kittle came in needing 73 yards to top Davis' mark of 965 yards set in 2009.
"It's an honor. ... He set the standard," Kittle said.
On San Francisco's nine-play opening scoring drive -- capped by Robbie Gould's 40-yard field goal -- Kittle made receptions of 31 and 5 yards.
Gould made a 29-yarder early in the second.
Niners left tackle Joe Staley celebrated a rare catch, the third of his 12-year career, late in the first half when he got his hands on a tipped pass by a defender for a 5-yard loss.
He will be fined for it, Shanahan insisted. Because of the chance of injury on such plays, trying for the ball isn't advised. Staley called it a "dumb decision," but explained it like this: "It's like telling me `Hey, there's pizza here, don't have slice.' I'm going to have a slice."
"Joe refuses to believe he's an O-lineman," Shanahan said. "... It was not a smart play."
49ers: Cornerback Ahkello Witherspoon was able to return after landing hard on his left ankle late in the game when he went down defending a pass on the sideline.
Broncos: Host Cleveland on Saturday.
49ers: Host Seattle on Sunday.
More AP NFL: https://apnews.com/tag/NFL and https://twitter.com/AP-NFL
LaFleur: We want Rodgers back in the worst way
Matt LaFleur speaks to reporters about Aaron Rodgers and the possibility of starting Jordan Love in minicamp.
Why Max wants the Patriots to trade for Julio Jones
Max Kellerman makes a case for why the Patriots should pair Cam Newton with Julio Jones.
Chicago Bears coach Matt Nagy to miss start of rookie minicamp after COVID-19 close contact
Bears coach Matt Nagy will lead all virtual meetings with the rookies and view practice from a remote location, but will not be at the team's facility.
NFL teams making changes to voluntary workouts with players' input
In an effort to persuade reluctant players to show up for voluntary offseason workouts, several NFL teams have made changes to their offseason schedules as a result of conversations between players and coaching staffs.
Buccaneers WR Antonio Brown sued for assault and battery after altercation with moving-truck driver
Buccaneers wide receiver Antonio Brown and his trainer are being sued for more than $30,000 by a moving-truck driver over an altercation in January 2020.
The Tampa Bay Buccaneers: Leadership Doesn't Have a Look
Buccaneers coaches Bruce Arians, Lori Locust, Maral Javadifar and co-owner Darcie Glazer Kassewitz join Mina Kimes to discuss women in football and how more women can get involved in the sport.