McCaffrey, who was out of bounds, was knocked to the ground by Patriots defensive lineman Deatrich Wise Jr., who landed on the fan during the ensuing scrum. McCaffrey responded by spiking the ball at Wise's feet, sparking the fight that carried into the stands.
Wise and Carolina backup running back Chuba Hubbard were ejected from practice. Panthers coach Matt Rhule said an official told him Hubbard threw a punch.
The 6-foot-5, 275-pound Wise reached out to the fan to apologize, and McCaffrey shook her hand as well. The woman suffered a swollen foot but refused treatment from Patriots medical personnel. The Patriots offered her tickets to a game this season.
Rhule later apologized for the incident, which overshadowed two good days of work against New England.
"I'd love to be talking about two-minute [drills] right now and Sam [Darnold] scrambling and making an excellent throw," he said. "There's a lot of football things that matter way more to me, but distractions affect you and that's what we can't do."
Said McCaffrey: "I've never been a part of a joint practice where there's not one of those. It's not about how it's going to happen, it's when it's going to happen."
When asked if he was involved in the fight, Panthers quarterback Baker Mayfield jokingly said: "I used my inmate training, got in there. ... Nah, just trying to get in there and get guys separated."
Wise's hit on McCaffrey came on the play after Panthers cornerback Kenny Robinson stood over New England's Kristian Wilkerson and taunted him after he violently blocked Wilkerson from the side, sending the wide receiver to the ground.
Wilkerson was evaluated for a concussion at a local hospital, and has since been released and is now resting at home, a source told ESPN.
The taunting resulted in Robinson's ejection for the second straight day. He was tossed from Tuesday's practice for his involvement in a fight with Wilkerson, which had some Patriots players quietly wondering if Wednesday's hit was retaliation.
Rhule didn't rule out Robinson being released. A league source told ESPN the Panthers will evaluate that situation after looking at tape.
Last year during training camp, Rhule released defensive back J.T. Ibe soon after he was kicked out of practice for a hit on wide receiver Keith Kirkwood that he called "completely unacceptable."
"I didn't see [Robinson's] hit, but that's not how we want to practice," Rhule said. "... We don't stand over them and taunt them. It could affect your livelihood, so we sent him off.
"Two days now of practice was affected by a guy. We'll have to talk about it and see where we are. ... We should be playing football the real way, where you help a guy up, not standing over a guy."
Wednesday's play by Robinson -- on what wasn't supposed to be a full-speed drill -- upset Patriots players. It had longtime Patriots special teams captain Matthew Slater -- the 2021 Art Rooney Sportsmanship Award winner -- addressing the Panthers' sideline after it happened.
"When you have a teammate who is hit, who's down, and there's clear symptoms of what happened to him -- we all know what that looks like as football players -- and then you have players celebrating that act; I take issue with that, and I don't have a problem saying that. That's an issue," Slater said. "I don't care if it's in a game situation, and certainly in a practice situation, that's not OK."
Slater, 36, said he didn't see the hit Robinson put on Wilkerson, but was told it was a clean play.
"I have no issue with that. The guy is working, he's trying to make their team, he's doing what he's coached," Slater said. "But when you see a guy the way Kristian was down, and you see guys responding the way guys were responding; I've been in this game a long time, that's not how you do it."
The scuffle overshadowed Carolina's quarterback battle between Darnold and Mayfield, which appears close to being settled. Rhule said he plans to play mostly second- and third-team players in Friday night's preseason game.
He did not elaborate on whether he would play Darnold or Mayfield, or whether one would play and the other would be named the starter before Friday or the Sept. 11 opener.
Mayfield had a solid performance Wednesday and remains the odds-on favorite to win the job.
"The thing I said all along we wanted to at least get to this point, when we know, we know,'' Rhule said. "It could be any point [when we name the starter]. It could be two more weeks from now and it could be now. We're just making sure we're thorough.
"We have a really good plan. I just don't feel at liberty to say right now out of respect for the guys."