Before practice, the 49ers announced two roster moves. They signed defensive tackle Michael Dwumfour to a one-year deal. To make room on the roster, the team released cornerback Eli Apple.
Here are some key highlights from the 10:25 a.m. PT practice at the SAP Performance Facility, compiled from multiple media reports.
Noteworthy non-participants
- DT Evan Anderson (knee bruise)
- S Ji'Ayir Brown (ankle)
- WR Jacob Cowing (hamstring)
- DT Jordan Elliott (back)
- DT Kevin Givens (pectoral)
- CB Renardo Green (hamstring)
- RB Isaac Guerendo (shoulder)
- RB Jordan James (broken finger)
- WR Jauan Jennings (calf)
- CB Fabian Moreau
- DE Sam Okuayinonu (groin)
- LB Chazz Surratt
FB Kyle Juszczyk returned after missing time with a cut on his heel.
Unavailable players
Physically unable to perform (PUP)
- WR Brandon Aiyuk (ACL/MCL)
- OL Andre Dillard (ankle)
- DE Yetur Gross-Matos (knee)
- S Malik Mustapha (ACL)
Non-football injury (NFI)
- QB Kurtis Rourke (ACL)
Injured reserve (IR)
- DE Tarron Jackson (neck)
- WR Trent Taylor (back)
- CB Tre Tomlinson (undisclosed)
Injury updates
Rookie DL Mykel Williams was shaken up during red-zone drills, favoring his left knee. Medical staff examined him. Williams was able to walk to the sideline and eventually left the practice area. After practice, head coach Kyle Shanahan told reporters Williams underwent a "good exam."
"Hopefully, just hyperextended his knee," Shanahan said. "So, we're gonna get a further evaluation now, but looked good when we examined him."
CB Darrell Luter Jr. and rookie S Marques Sigle were evaluated for concussions but cleared.
Quick notes
DE Nick Bosa returned to practice after missing the last three sessions due to soreness. ESPN's Nick Wagoner logged at least three would-be sacks for the veteran pass rusher during team drills.
"Bosa usually is pretty good, but I think he's still working to get to his top self," Shanahan said after practice. "He was a little sore earlier in the week. We took Monday off. I think he just did individual on Tuesday. So, this was the first day for him to get back there in about six days and really compete."
CB Upton Stout continued to shine during one-on-ones, this time, against a different team. He even came away with an interception.
DE Robert Beal Jr. and rookie DT Alfred Collins had some successful reps during one-on-one drills. Rookie DT Sebastian Valdez, nicknamed "The Hulk" by teammates, continues to impress, winning three of his four one-on-one reps.
Rookie DL Mykel Williams impressed before his injury, continuing to display solid pass-rushing skills as an interior lineman. He also recorded a would-be sack during team drills.
LT Trent Williams did not participate in team drills. Spencer Burford started in his place.
LB Dee Winters continues to showcase his versatility. He has been impressive in coverage and, against the Broncos, showed he can also be a threat as a pass rusher—blitzing to force an incompletion by QB Bo Nix. Winters nearly had an interception during two-minute drills.
Nix found success when targeting CB Darrell Luter Jr., and the 49ers' defensive backfield drew a fair number of flags during practice.
The Broncos' defense stymied the 49ers' offense during team drills. QB Brock Purdy and his playmakers struggled to get anything going. Purdy tossed two interceptions during seven-on-seven work—both while targeting Pearsall. Denver's pass rush racked up several would-be sacks against 49ers quarterbacks and tackles for loss against RB Christian McCaffrey and others.
"I think they came out ready to roll, to compete," Purdy said. "You could feel them. They were in the backfield a couple of times, and had a couple of sacks, and obviously, some TFLs (tackles for a loss), it looked like. So, they were ready to roll."
While most of the 49ers' offense struggled during the early periods of practice, rookie WR Jordan Watkins stood out as a bright spot, making several catches.
The first-team offense fared better during red-zone drills. Purdy connected with McCaffrey over the middle for a touchdown in this session, and later found Watkins for another score.
Later in red-zone work, Purdy hit WR Ricky Pearsall, who was matched against Broncos rookie CB Jahdae Barron, for a 30-plus-yard touchdown to the right corner of the end zone. That came after Pearsall made a first-down catch against CB Patrick Surtain earlier in the drive. However, the 49ers had little success targeting Surtain overall.
Purdy capped off his day by hitting WR Demarcus Robinson for a 14-yard touchdown against CB Riley Moss.
Cam Inman of Bay Area News Group charted Purdy as completing 19 of his 26 pass attempts during full-team drills, including touchdowns to McCaffrey, Robinson, Pearsall, and Watkins.
"I thought Brock had a really good day," Shanahan said. "I never know for sure until I watch the tape, but we put him in a lot of challenging positions and I thought he handled most of them pretty well."
K Jake Moody connected on all seven of his field-goal attempts—though some were close—hitting from 28, 33, 36, 40, 46, 51, and 54 yards out during special teams drills. He also drilled a 52-yarder to cap a two-minute drive at the end of practice.
Moody's 52-yarder was set up by a pass from QB Mac Jones to TE Brayden Willis. Jones also connected with rookie WRs Junior Bergen and Jordan Watkins on the drive.
Next practice
The 49ers will not practice again until after Saturday's game against the Broncos. Dates for the following week's practices have not yet been released. The team is scheduled to practice with the Las Vegas Raiders in Henderson, Nevada, next week.
Social media: 49ers-Broncos practice updates
Related News
More San Francisco 49ers News
-
CBS Sports links 49ers to Joey Bosa, other key NFL free agents
After finishing the 2025 season with a league-low 20 sacks, the San Francisco 49ers are expected to prioritize pass-rush help this offseason, whether through NFL free agency or the 2026 NFL Draft. If the team opts to add a veteran defensive end, one potential move could reunite... -
49ers address key future need in NFL.com 2026 mock draft
At some point, the San Francisco 49ers will have to address the future of the left tackle position. Right tackle Colton McKivitz, whose play improved this past season, is 29 years old and under contract through 2028. Trent Williams, however, is 37 and signed for just one more... -
49ers could play two international games in 2026—and not everyone is happy
The NFL announced on Thursday that the San Francisco 49ers will face the Los Angeles Rams in the first-ever NFL regular-season game in Melbourne, Australia. The matchup is expected to take place in Week 1, though the official date has not yet been announced. The Australia game... -
49ers have a pass rush problem, and the solution isn't what you think
Much has been made—and was made weekly during the season—of the 49ers' lack of a pass rush. The team was last in the league in sacks and last in pressure rate. Since the defense had almost double the sacks in 2024 (20 vs. 37) with a healthy Nick Bosa, it stands to reason...