SANTA CLARA — Here’s who stood out on Day 9 of 49ers training camp. Keep in mind, Nick Bosa did not practice.
1. Free safety Jimmie Ward
Intercepted Trey Lance (more on him in a minute). It was 3rd and 9, Ward read Lance’s eyes, broke early on the pass in the flat, picked it off and returned it for a touchdown. Ward also broke up two passes during 1-on-1 drills — one while covering Jauan Jennings and one while covering Ray-Ray McCloud (more on them in a minute). Ward is the best player in an excellent 49ers secondary.
2. Quarterback Trey Lance
I bet you thought I’d put him in the not-so-good section, didn’t you? I almost did. But after he threw the pick 6, he led the offense down the field in 80 seconds and threw a 15-yard touchdown pass as time expired to win by three points. He stepped up in the pocket, bought time by rolling left, stopped, spotted Ray-Ray McCloud open in the end zone and fired a beautiful touchdown pass across the field. So Lance was clutch and he redeemed himself. On the final drive, Lance was near perfect. First, he hit George Kittle for 17 yards. Then Lance threw a pass in the flat to JaMycal Hasty, which he dropped. Then Lance scrambled for 6 yards. Then Lance hit Deebo Samuel for 6 yards on 3rd and 4. Then Lance scrambled for 7 yards. Then Lance hit Kittle for 11 yards. Then Lance hit Kittle for 3 yards. Then Lance threw the touchdown pass to McCloud. Lance obviously needs to be more consistent, but he showed the potential to be elite on that final drive. He finished practice 11 for 19 with two drops.
3. Defensive tackle Javon Kinlaw
Took one rep during 1-on-1 pass-rush drills — his first rep in two years — and he won. He beat Aaron Banks with a bullrush. Kinlaw also practiced extensively during 11 on 11s for the first time this offseason. All good signs.
4. Guard Aaron Banks
He mostly lost in 1 on 1 drills because he doesn’t anchor well in pass protection and gets pushed back, but his run blocking is another story. Today during 11 on 11s, Banks knocked Kinlaw to the ground and opened a huge hole for Elijah Mitchell who burst through it and gained 30 yards. Banks is the biggest player on the team, and it shows during run plays.
5. Wide receiver Deepo Samuel
Beat Tarvarius Moore to make a 20-yard catch. Also beat Charvarius Ward to make a 6-yard catch on 3rd and 4. More on Ward in a minute.
6. Tight end George Kittle
Made three catches on the final drive of practice to put the offense on his back. Kittle has had a quiet camp, but when the offense was down by four points with 1:20 left, Lance went to Kittle repeatedly. He also beat Charvarius Ward deep but Lance overthrew what should have been a long touchdown pass.
7. Cornerback Emmanuel Moseley
Shut down a deep pass intended for Deebo Samuel, and then broke up a short pass intended for Brandon Aiyuk. Moseley is an elite competitor every day of camp. Deebo can’t beat him right now, mostly because he isn’t in regular-season form yet. Moseley sure is.
8. Guard Spencer Burford
Scroll to Continue
Beat Kevin Givens and Kerry Hyder during 1 on 1s. Burford is terrific in that pass-protection drill.
9. Wide receiver Ray-Ray McCloud
Caught four passes during team drills including the only touchdown catch of practice. Just based on camp, McCloud should be the No. 3 receiver, not Jauan Jennings.
10. Offensive tackle Jordan Mills
Signed with the 49ers this morning and then won all of his reps during 1 on 1s. Granted, he’s a veteran going against third-stringers. Still, he looked better than Justin Skule (more on him in a minute).
11. Running back Ty Davis-Price
Carried the ball four times with the first-string offense and gained 20 yards — that’s 5 yards per carry against an elite defense. Davis-Price always finishes runs violently by slamming into the player trying to stop him. The defensive players don’t like this, so they hit him hard every time he touches the ball. Davis-Price doesn’t seem to mind.
12. Wide receiver Danny Gray
Caught a long touchdown pass during 1 on 1s after beating Ka’Dar Hollman. Also should have caught a long touchdown pass during 11 on 11s after beating Tariq Castro-Fields, but Brock Purdy overthrew the pass. So Gray had two excellent moments. But Purdy yelled at him during a different play because Gray stopped his route when he should have kept running to the sideline. Purdy was rolling out and wanted to throw to Gray, but Gray stopped, so Purdy threw the ball away. Learning moment.
THE NOT SO GOOD
1. Cornerback Charvarius Ward
Didn’t compete. Was targeted 5 times and gave up 4 catches. Got beaten once by KeeSean Johnson, twice by Jauan Jennings (Jennings dropped one) and once by Deebo Samuel. Ward is too good to play this poorly. To be fair, training camp is a grind, and it’s difficult to give 100-percent effort on Day 9. Still, Ward is a highly-paid leader on this team, and he needs to hold himself to a higher standard.
2. Cornerback Ambry Thomas
Almost broke up a pass, but gave up two catches instead.
3. Wide receiver Java Jennings
Caught a pass from Lance for the first time since last Saturday. Also dropped a pass from Lance, which Jennings seems to do once a day. Also slipped during a route which led to an incomplete pass. Jennings must be a gamer, because he’s not good in practice.
4. Offensive tackle Justin Skule
Lost most of his reps during 1-on-1 pass rush drills. He seems inferior to Colton McKivitz and Jordan Mills, who also play offensive tackle. Not sure Skule will make the team.