The 49ers had their first live session of training camp late in Wednesday’s practice. It culminated with one of the hardest collisions to date when Carlos Hyde barreled over rookie cornerback Ahkello Witherspoon at the goal line for a touchdown.

It wasn’t a fair fight for Witherspoon, who had his violent welcome-to-the-NFL moment. Defenders aren’t allowed to tackle, which allowed Hyde the freedom to drop his shoulder into Witherspoon’s chest and flex his arms after scoring. Hyde cut an inside run outside toward the left pylon where Witherspoon waited helplessly.

The 49ers for the first time had the starting offense play against the second-team defense, where Witherspoon has been fixed during the first five practices of camp. The starters at cornerback have been Rashard Robinson and Dontae Johnson, who likely wouldn’t have fared much better against the 225-pound back in space at the goal line.

Defensive lineman DeForest Buckner left practice with a left ankle injury that didn’t appear serious. He limped off the field during full-team drills and tried to walk off the injury after treatment. He stayed at practice and had the ankle re-taped, but he didn’t return to drills.

The highlights of Wednesday’s practice were scarce. The offense prioritized the running game. And, with limited contact, defenders are only allowed to wrap up and are instructed against taking defenders to the ground. A few outside runs for Hyde popped while others were stopped short.

The focus on the running game allowed for more reps for veteran Tim Hightower, who’s gotten off to a strong start in training camp. He’s split reps with Hyde among the first unit and looks like a well-rounded option as a backup.

Hightower, listed at 220 pounds, is the only other back aside from Hyde with notable size. Rookie Joe Williams (205), Matt Breida (190), Kapri Bibbs (203) and Raheem Mostert (197) are more reliant on their speed than physicality. Hightower could have a significant role, particularly if Hyde had to miss time due to injury.

Quarterback Brian Hoyer Wednesday threw his first interception since the pads came on. He was looking for Jeremy Kerley on an out route toward the sideline. But Hoyer’s timing was delayed as he stepped to avoid the pass rush, allowing Dontae Johnson to get position and high point the ball over Kerley.

Hoyer later in the session completed the same pass to Pierre Garçon, who continues to have a strong training camp. Hoyer unofficially completed 13 of 19 throws.

First-round pick Solomon Thomas appeared to log a sack with the first-team defense working as a defensive end in the sub package. He cut inside on a stunt and shared the sack with Dekoda Watson. Ahmad Brooks, Tank Carradine and Arik Armstead all had would-be sacks with the starting defense, which has gotten strong play from its pass rushers in the early going.

The 49ers were without their top three safeties, although they got some good news regarding Eric Reid. The likely starting strong safety was back on the field after missing Monday’s session with an ankle injury he tweaked early on Sunday. Reid was limited to individual drills, but seem unaffected by the ankle.

It’s likely Reid returns to full-team drills this week, which would be a welcomed sight for San Francisco. Jimmie Ward (hamstring) remains on the physically unable to perform list while Jaquiski Tartt was taken out of practice Monday with a rib injury replacing Ward. The team said Tartt is day-to-day.

Tidbits and takeaways

–Rookie nose tackle D.J. Jones has quietly had a strong camp working with the reserves. The sixth-round pick has impressive athleticism for a 321-pound lineman and has given offensive linemen fits in both team sessions and one-on-one drills.

Jones’ work has been limited mostly to the third team, but he could start seeing second-team reps if Buckner misses time and Quinton Dial gets more time as a three-technique defensive tackle. Dial has predominately played nose tackle with the second team, while Chris Jones has played the three technique.

Jones replaced Buckner with the starters after he went down with an ankle injury Wednesday.

–Undrafted rookie safety Lorenzo Jerome made a good play when he blew up a bubble screen to Bruce Ellington. Jerome worked with the first team for the entirety of practice for the first time due to Tartt’s injury.

Depending on how much work Vinnie Sunseri gets, Jerome could see a lot of reps over the next two weeks with the starters. Ward, the expected starting free safety, could be out two more weeks with his hamstring injury, which could allow Jerome to continue to play with the first unit.

–Tank Carradine beat Joe Staley in consecutive reps during one-on-one pass rushing drills, which led to a frustrated Staley hurling his helmet. Staley didn’t look sharp during the drill and rebounded against Ahmad Brooks by chucking him to the ground minutes later. Staley has had a good camp, those reps aside.

–Rookie seventh-round pick Adrian Colbert, who played both cornerback and safety in college, played free safety with the reserves Wednesday with all the injuries at the position.

He made an interception when Matt Barkley hurled an unwarranted deep ball with no receivers in sight. Colbert, playing centerfield, made the easiest interception of camp.