The San Francisco 49ers had their longest practice of training camp on Wednesday, with the session lasting nearly two hours, as the team went through 11-on-11s, situational drills, and multiple move-the-ball sessions.

RELATED49ers Training Camp Day 12 Breakdown: Offense RELATED: 49ers Training Camp Day 12 Breakdown: Defense



Here's a play-by-play recap of all the plays from the scrimmage sessions:


1st Scrimmage Session


1. Trey Lance throws a deep 50-yard incompletion to Deebo Samuel, who dove and outstretched his hands in an attempt to catch the ball, but the ball was off his fingertips. Samuel had beaten Ambry Thomas and Ka'Darr Hollman on the play, but the ball was slightly overthrown.

2. Trey Sermon is stopped for a loss of 2 yards.

3. Ty Davis-Price is stopped by Fred Warner for 0 yards.

4. There's a 0-yard gain on the play. I couldn't catch who ran the football.

5. Trey Lance throws a 40-yard pass to Malik Turner, but the ball is underthrown. Turner had a step on cornerback Deommodore Lenoir, but turned back to catch the ball, and Lenoir recorded a pass interference, not turning his head around.


6. Ty Davis-Price rushes for 5 yards to the left end behind good blocks from the offensive line.

7. JaMycal Hasty rushes for a 2-yard gain. Jordan Willis was there on the play.

8. Nate Sudfeld throws a 5-yard touchdown to Tanner Hudson. Marcelino McCrary-Ball was there on the play, laying a hit.

9. Jordan Mason rushes for a 0-yard gain. Segun Olubi was there on the play.

10. Brock Purdy hits Tay Martin on a 15-yard play crosser off the play-action bootleg to the left.


11. Jordan Mason rushes for a 2-3 yard gain. Mason looked elusive on the play, but doesn't appear to have the immediate burst of the other running backs.

12. Ty Davis-Price rushes for a 2-3 yard gain, exhibiting good burst on the play.

13. Trey Sermon cuts back to the right side for 5 yards.

14. Trey Lance is immediately stopped for a loss in the backfield by Akeem Spence before he can even hand the ball off on a zone-read.

15. Trey Lance hits Kyle Juszczyk off the bootleg for a 3-4 yard gain.


16. Trey Lance takes a zone-read for 15 yards to the right end.

17. Trey Lance is sacked on a play-action by Kemoko Turay after 2-3 seconds on the play.

18. Jordan Mason rushes for a 7-8 yard gain. Mason moved well, weaving left to right on the play.

19. JaMycal Hasty breaks away for a 50-yard rush, showcasing his explosiveness yet again. Hasty was stopped by safety George Odum at the 5-yard line.

20. Nate Sudfeld hits Danny Gray for 15 yards over the middle. Gray corralled the pass with his body.


21. Trey Lance hits George Kittle for a 7-yard out, and Kittle gets 13 yards after the catch.

22. Trey Sermon rushes for a 15-yard gain on a good cutback, moving away from the right end towards the middle of the field.

23. Trey Lance throws an incompletion intended for Brandon Aiyuk, as Talanoa Hufanga read the quarterback as he eyed the receiver coming into his slant, stepping into the passing lane to break up the pass. Aiyuk was closely covered by Ambry Thomas on the play.

24. Trey Lance is overwhelmed by the surging defensive line, as he is sacked by Samson Ebukam on the play. Several defenders beat the starting offensive line on the play, including Javon Kinlaw beating Aaron Banks on the rep.

25. Trey Lance throws an incompletion to tight end Tyler Kroft on a 5-yard out towards the left sideline, missing the throw too wide.


26. Nate Sudfeld throws an incompletion to Deebo Samuel on a 20-yard pass over the middle, throwing the pass too high, which landed off Samuel's fingertips as he jumped for the ball. Deommodore Lenoir was in close coverage on the play.

27. Nate Sudfeld is sacked by Charles Omenihu on the play. He continues the play, hitting Jauan Jennings on a 7-yard checkdown.

28. There was a penalty on the play, which appeared to be an offsides.

29. Jordan Mason rushes for 1 yard to the left end before being met by Curtis Robinson.

30. Brock Purdy hits an open Ray-Ray McCloud for a 15-yard completion, who made a nice catch on the play.


31. Brock Purdy hits Marcus Johnson on a 7-yard slant, stepping up in the pocket to make the throw.

32. Brock Purdy hits Brandon Aiyuk on a 30-yard deep touchdown, where the receiver beat cornerback Qwuantrezz Knight from the slot on a fade route.

33. Trey Lance hits Kyle Juszczyk for a 5-yard pass.

34. Trey Lance intends an incompletion to Ray-Ray McCloud on a 35-yard pass. It was ruled incomplete, but should've been a pass interference penalty on Ka'Darr Hollman.

35. Trey Lance hits Jauan Jennings on a 5-yard out-route.


36. Trey Lance throws a 3-yard incompletion to Trey Sermon on an out-route, missing the running back wide.

37. Trey Lance was sacked by Kemoko Turay on the play. Turay was working against the second-team offensive line, who had swapped in.

38. The running back rushes for a short gain.

39. Nate Sudfeld hits Ross Dwelley for a 7-yard gain. Daniel Brunskill was pressured on the play, as he ended up on the ground.

40. Nate Sudfeld is sacked by Kemoko Turay before attempting a 45-yard deep pass to Malik Turner.


Situational Session


1. On 3rd & 8, Trey Lance throws an incompletion intended for George Kittle. The throw was off-target and Fred Warner nearly intercepted the pass. Nick Bosa beat Mike McGlinchey on the rep.

2. On 3rd & 4, JaMycal Hasty ran for a 4-yard gain.

3. On 4th & short, Ty Davis-Price picked up the first down.

4. Brock Purdy throws a 7-yard comeback to Austin Mack that would've moved the chains on 3rd down, but the receiver dropped the pass.

5. Brock Purdy hits Tay Martin on an 11-yard slant on 4th & 3.


6. Trey Sermon rushes for a 5-yard gain towards the left end for a 1st down, just rushing past a speedy Javon Kinlaw along the sidelines.

7. Ty Davis-Price rushes for a 1-yard gain.

8. On 3rd & 8, Nate Sudfeld hits Ray-Ray McCloud for a 2-yard screen pass, but he's met by Demetrius Flannigan-Fowles.

9. Nate Sudfeld throws an incompletion to Marcus Johnson on 3rd down. Alex Barrett beat Jason Poe on the play.

10. Kemoko Turay sacks Brock Purdy on a coverage sack play. Purdy should've moved out of the pocket with the lane towards the right side and held the ball too long on the play.


11. Brock Purdy completes a 20-yard pass to Austin Mack, who gets 10 yards after the play.

12. Trey Lance rushes for 7 yards over the middle on a zone-read play for a first down.

13. On 4th & 5, Trey Lance hits Trey Sermon in the flat for a 10-yard gain. Pressure was there, but Lance got the ball off in time for the conversion.

14. Nate Sudfeld hits Marcus Johnson for a 5-yard gain.

15. Nate Sudfeld hits Marcus Johnson for another 5-yard gain. Marcelino McCrary-Ball was there on the play and stopped the first down.


Redzone Session


1. Trey Sermon rushes for a 1-yard gain to the right side. I would've liked Sermon to cut the run back to the middle, but instead he was stopped for a short gain. Alex Barrett beat Spencer Burford on the play.

2. Trey Lance takes a zone-read up the middle for an 8-yard gain. It was a great read by Lance, who faked the handoff and pulled the ball for himself.

3. On 3rd & 1, Trey Sermon takes the rush for an 11-yard touchdown to the right end.

1. Ty Davis-Price rushes for a 1-yard gain. Jordan Willis was there on the play.

2. Nate Sudfeld rolls out to his left on a play-action fake, hitting Tyler Kroft for a 17-yard touchdown. The defense bit on the outside-zone fake, allowing Sudfeld to have enough space to easily make the throw.


1. Trey Lance takes a zone-read for 0 yards. He should've given this carry to the running back, who was running right on an outside-zone.

2. Trey Sermon rushes for a 7-yard gain.

3. Trey Lance hits Kyle Juzczyk for a 5-yard gain on a play-action pass, setting up 1st & Goal at the 5-yard line.

4. Trey Lance throws an incompletion off a play-action as Nick Bosa was in his face, breaking the pass up. With Bosa coming towards him, Lance needed to get this ball out quicker.

5. Trey Lance takes a read-option for 0 yards.


6. Trey Lance's pass to Jauan Jennings is broken up by Samuel Womack in the endzone. Lance should've likely hit his first read in George Kittle, who was running over the middle from the right side, but threw an on-target throw. However, Womack was able to make a nice play on the pass.

1. Nate Sudfeld rushes for a 3-yard gain off a play-action bootleg, getting forced out of bounds by Charles Omenihu.

2. Ty Davis-Price is stopped for a loss of three yards, with Jordan Willis there on the play.

3. Nate Sudfeld hits Malik Turner on a 15-yard slant, setting up 1st & Goal at the 5-yard line.

4. Nate Sudfeld hits Marcus Johnson on a 5-yard fade-route for a touchdown over Darqueze Dennard in the back of the endzone.


Move-the-ball Session


1. Trey Sermon rushes for 5 yards to the left end.

2. Trey Lance maneuvers the pocket, rolls left, and hits George Kittle over the middle for a 15-yard pass.

3. Trey Sermon rushes for three yards up the middle.

4. Trey Lance is sacked by Nick Bosa before continuing the play for a 4-yard completion.

5. Trey Lance hits Kyle Juszczyk in the flat for 5 yards, which turns into a 20-yard completion, finishing the drive.


1. Nate Sudfeld hits Ross Dwelley for a 9-yard completion.

2. Nate Sudfeld hits Jordan Mason on a 6-yard out-route.

3. Jordan Mason rushes for 5 yards, making good cuts left and right.

4. Nate Sudfeld is sacked by Kemoko Turay before continuing the play for a completion.

5. Nate Sudfled hits Ray-Ray McCloud for an 8-yard out-route, facing pressure from Drake Jackson on the play.


6. Jordan Mason rushes for a first down, finishing the drive.

1. Trey Lance hits Brandon Aiyuk on a 17-yard out-route, throwing the ball with anticipation on the money with Ambry Thomas in close coverage.

2. Trey Lance's pass intended for the flat is broken up by Samson Ebukam at the line of scrimmage.

3. Trey Lance is sacked by Charles Omenihu on a coverage sack, which ended practice.

Stats for Wednesday:


Trey Lance: 9/18, 1 rush TD
Nate Sudfeld: 12/14
Brock Purdy: 6/7, 1 dropped pass

Written By:

Rohan Chakravarthi


Writer/Reporter for 49ers Webzone
All articles by Rohan Chakravarthi
@RohanChakrav
YouTube Channel


More San Francisco 49ers News