Here's a play-by-play recap of all the passing plays from the scrimmage sessions:
1st Scrimmage Session
1. QB Brock Purdy is intercepted by DB Ka'Darr Holmann on a deep pass near the right sideline. DT Kevin Atkins beat Alfredo Guitierrez for a pressure.
2. QB Trey Lance was sacked. The play continued and Lance threw an incompletion over the middle of the field intended for Brandon Aiyuk. Charvarius Ward was in coverage and recorded a PBU.
3. QB Nate Sudfeld hit Brandon Aiyuk for a 30-yard contested catch over S George Odum. CB Ambry Thomas was in coverage, but played 7-10 yards off the line of scrimmage.
4. Trey Lance threw an incompletion to Brandon Aiyuk, overthrowing him on the far sideline. Charvarius Ward was in coverage.
5. Trey Lance threw an incompletion to Jauan Jennings on a 5-yard slant, throwing the pass five yards behind the receiver.
6. Nick Bosa beat Colton McKivitz on the left side for a sack.
7. Nate Sudfeld throws an incomplete pass. DE Drake Jackson recorded a pressure on RT Justin Skule and LG Jason Poe was pressured as well.
8. Brock Purdy avoided a sack and completed a 5-yard checkdown.
9. Brock Purdy completes a 20-yard pass to Jauan Jennings on an out-route.
10. Trey Lance avoids the sack and rushes for 20-30 yards along the sideline.
11. Trey Lance hits TE George Kittle for a 40-yard pass, with 20 yards after the catch. Jimmie Ward was charging in on the pass, but Lance fired a bullet with great accuracy to make the completion.
12. Trey Lance completes a 7-yard pass to Ray-Ray McCloud, who ran an out-route.
13. Nate Sudfeld throws an interception on a pass intended for WR Danny Gray. The pass was broken up and batted in the air, and LB Segun Olubi made the interception.
14. Nate Sudfeld hits RB Trey Sermon in the flat.
End of Session 1 stats:
Trey Lance: 2/5
Nate Sudfeld: 2/4 INT
Brock Purdy: 3/4, TD, INT
1st Scrimmage Session
1. Trey Lance hits Brandon Aiyuk on a 20-yard pass. Lance extended the plays with his legs, rolled to his left, and fired a cross-body pass. Charvarius Ward was in coverage.
2. Trey Lance hits Jauan Jennings for a 15-yard pass over the middle. Nick Bosa and Kevin Givens recorded pressures.
3. Nate Sudfeld hits JaMycal Hasty for a 5-yard pass on an angle route.
4. Nate Sudfeld throws a 7-yard pass to Marcus Johnson on an in-route. Ambry Thomas was tight in coverage.
5. Brock Purdy hits WR KeeSean Johnson for a 6-yard pass.
6. Brock Purdy throws a 45-yard TD to Danny Gray. Drake Jackson and Robert Nkemdiche combined for a sack on the play. The ball was underthrown, but Gray was in the clear against the third-team defense.
7. Trey Lance finds George Kittle for a 13-yarder over the middle.
8. Trey Lance throws a 35-yard pass intended for Brandon Aiyuk, who made a good play, but was pinned to the sideline by Moseley, who hit the ball away as Aiyuk came down. Nick Bosa recorded a pressure on McKivitz.
9. Nate Sudfeld finds Jordan Matthews on a 23-yarder to the right sideline.
10. Nate Sudfeld throws a 3-yard pass to KeeSean Johnson.
11. Trey Lance intends a 17-yard pass to Ray-Ray McCloud, but Talanoa Hufanga rushed in and recorded a PBU.
12. Trey Lance throws an interception to Jimmie Ward on a 20-yard pass intended for Brandon Aiyuk. Lance didn't see Ward over the middle.
13. Trey Lance intends a 40-yard pass on the right sideline to Jauan Jennings, but Charvarius Ward records the PBU as Jennings tries to corral the ball in.
14. Nate Sudfeld finds Jauan Jennings on an 11-yard out-route.
15. Nate Sudfeld throws a 10-yard pass to RB Jordan Mason on a comeback route.
16. Brock Purdy throws an interception to Tayler Hawkins on a pass 45 yards down the field. Robert Nkemdiche recorded a sack on the play. WR Marcus Johnson was open, but Purdy's pass was in the air for a long time.
17. Brock Purdy finds Tyrion Davis-Price for a 6-yard gain.
18. Trey Lance throws an incompletion to Danny Gray 50 yards down the field. Charvarius Ward was step-in-step with Gray.
18. Trey Lance hits Brandon Aiyuk on a 20-yarder. Aiyuk made a nice catch on the sidelines, jumping for the ball and keeping both feet in. Darqueze Dennard was in coverage.
19. Nate Sudfeld throws a 4-yard play-action pass to Tanner Hudson.
End of Session 2 stats:
Trey Lance: 4/9, INT
Nate Sudfeld: 7/7
Brock Purdy: 3/4, INT
Written By:
Writer/Reporter for 49ers Webzone
All articles by Rohan Chakravarthi
@RohanChakrav
YouTube Channel
Rohan Chakravarthi
Writer/Reporter for 49ers Webzone
All articles by Rohan Chakravarthi
More San Francisco 49ers News
-
49ers training camp report dates and joint practice dates announced
The NFL has announced official training camp report dates for all 32 teams, and the San Francisco 49ers will begin preparations for the 2026 season when rookies report on Saturday, July 18. Veterans will join the newcomers one week later, reporting to training camp on... -
How Maxx Crosby responded to young 49ers fan asking him to join San Francisco
The San Francisco 49ers could certainly use another proven pass rusher after finishing with an NFL-low 20 sacks last season. That has fueled plenty of speculation about the future of Las Vegas Raiders star defensive end Maxx Crosby. Although there is no indication that the... -
'We get to hit people in the face': 49ers' George Kittle sends fiery message to division rivals
San Francisco 49ers fans were understandably frustrated watching the Seattle Seahawks capture Super Bowl LX at Levi's Stadium in Santa Clara. Seeing a division rival celebrate a championship on your home field is never easy. 49ers All-Pro linebacker Fred Warner understands... -
49ers fans take note: NFL insider warns 'the 18-game slate is coming'
San Francisco 49ers fans would undoubtedly welcome another opportunity each season to watch their favorite team take the field. According to one NFL insider, that extra game is likely on the horizon—it's simply a matter of when the league and players can agree on the...