Here is what stood out from the 49ers eleventh practice during training camp in Santa Clara.
Kyle Shanahan acknowledged Trey Lance’s rough day on Sunday and was looking for the quarterback to bounce back today. He got a bounce back and then some as Lance finished his day 13-17, with one touchdown and two rushing touchdowns.
Lance started hot, hitting Brandon Aiyuk for a pair of long gains before finding Deebo Samuel down the right side despite having a defender in his face.
The offense then moved on to a redzone drill, an area Lance has shown to be very effective. Lance hit Deebo Samuel just across the goalline for one touchdown and ran up the middle for another after finding no one open. Lance’s only two incompletions of the first team session came in this drill when he threw a pass away to his left, and a pass over the middle to Jauan Jennings was broken up.
Next up came a move the ball period. The simulated game situation had the 49ers getting the ball on their own 35 with 2:30 left to play in the first half, up 13-10.
On the first play from scrimmage, Lance kept the ball on a zone read and bolted down the left sideline untouched for a 65-yard touchdown. Shanahan chose to mark the ball on the 40 to give the offense more reps.
From there, Lance marched the offense deep into the redzone. After being dropped for a loss of two on first down, Lance responded with a scramble for seven and a designed run up the middle for five to pick up the first down.
Now at the 30, Lance found Deebo Samuel and Jauan Jennings to pick up a pair of first downs. With the ball in the redzone, Lance threw complete to Jeff Wilson Jr. in the left flat for four yards before hitting George Kittle, who was stopped just short of the goalline. After a spike to stop the clock, Lance tried to hit Jauan Jennings on a sprint option to the right side, but Samuel Womack got his hands on the ball to force an incompletion.
The following possessions featured another pair of excellent plays from Lance.
Facing third and 22 from his own 36, Lance escaped pressure and moved to his right. The quarterback kept his eyes downfield and found Brandon Aiyuk to pick up the first down.
Lance faced third and eight on his final play. The 49ers defense sent pressure, the offensive line picked it up, and Lance stood tall in the pocket to find Jennings in the right flat for a big catch and run.
Warner stuffed Trey Sermon on an inside run play, wrapping the running back and lifting him off the ground.
On his second to last play of the day, Warner read the eyes of Trey Lance, which led him to knock the ball away before it reached Kyle Juszczyk.
After keeping him out of team drills for much of the last three days, San Francisco let the little bear out to hunt. And hunt he did, getting a sack of Lance and collapsing the pocket on numerous occasions.
Samuel and Trey Lance go their groove back today. Samuel caught all three targets that came his way from Lance, and all went for either a first down or a touchdown.
The touchdown from Samuel looked like Dante Pettis’ score to win the game for San Francisco against Pittsburgh in 2019.
Samuel sat in a hole just across the goalline on the right side, and Lance stuck the ball on him despite close coverage.
Aiyuk was in the doghouse at this time a year ago.
The wideout took what he learned from that experience and has come out like a house on fire.
As he has done throughout camp, Aiyuk caught nearly everything thrown his way. He brought in four of six targets today, the only two incompletions coming on a poorly thrown ball from Nate Sudfeld and a Lance throw away.
The one-two punch of Samuel and Aiyuk will cause problems for opposing defenses this season.
Sudfeld had a pair of touchdown throws in the redzone. He layered a beautiful pass to Willie Sneed over the coverage of Ambry Thomas.
On the next play, Sudfeld got the ball up and over linebacker Jeremiah Gemmel to hit Troy Fumagalli for a touchdown in the back of the endzone.
Womack stuck with Jauan Jennings and broke up a pass in the endzone to thwart a long drive by the starting offense.
The rookie continues to show growth and impress in his first training camp.
Barrett was impressive from one-on-ones through team drills.
The reserve defensive lineman showed explosiveness, getting through for a sack of Trey Lance. He later pressured Lance, forcing him to scramble to the other side.
I would not be surprised to see Barret make the final roster.
Acquired in a trade last season, Omenihu continues to showcase his versatility. Today he lined up on the outside and leaped high into the air to bad down a Nate Sudfeld pass.
As seems to be the case with everyone along the 49ers defensive line, Hyder has demonstrated the ability to play inside and outside.
Lined up at the left defensive end position, Hyder got upfield and sacked Trey Lance as he tried rolling in his direction. The best years of Hyder’s career have come when he’s worked with current 49ers defensive line coach Kris Kocurek.
No player has shown more growth this offseason than Jason Poe. Signed as an undrafted free agent, Poe has continued to get better every practice.
Today he won the majority of his reps in one-on-ones and carried that into the team period.
Poe may force his way onto the 53-man roster if he keeps this up.
The veteran free agent tackle signed last weekend and is a much better pass protector than Jaylon Moore or Justin Skule.
Jeff Wilson Jr.
On his first carry of team drills, Wilson started to his left before quickly cutting off the block of right guard Spencer Burford who had washed his man down the line of scrimmage, leading to a big gain on the ground.
The undrafted rookie free agent made a splash play in the run game. On a run to the left side, Mason found a crease and wound his way through the 49ers defense for a long gain.
The veteran tackle continues to struggle to block anyone in one-on-one drills, and he has been beaten repeatedly during this portion of practice.
The second-year cornerback continues to give up catch after catch, and today he gave up a touchdown to new teammate Willie Snead.