Vasco Da Gama and Atletico Paranaense's Brazilian league match was stopped for more than an hour after fans fought in the stands, prompting police to fire rubber bullets and summon a helicopter on to the field to airlift an injured man to hospital.
Supporters from both sides charged at each other and it took several moments for police to take control of the situation in the southern city of Joinville.
Groups of fans punched and kicked each other several times until police arrived and fired rubber bullets to clear the crowd.
Three other fans were taken to hospital. The man airlifted from the pitch had a serious head injury.
The match, which restarted after about 70 minutes, was important for both teams as Atletico Paranaense was trying to secure a spot in next year's Copa Libertadores and Vasco da Gama, a four-time Brazilian champion, was hoping to avoid relegation. Atletico Paranaense won 5-1 to reach its goal and demote the Rio de Janeiro club.
Fan violence has been rampant in Brazil this year with several cases of fighting in stadiums across the country, raising concerns ahead of the World Cup.
The match was being played in Joinville instead of Atletico's base in Curitiba because the club had been punished for fan violence earlier this year.
"This is deplorable," Vasco da Gama coach Adilson Batista said. "It's sad to see images like these just before the World Cup in our country. I'm shocked, this is not sport."
Television images showed players yelling at the fans and telling them to calm down. Some players put their hands on their heads as they watched the fight. A few fans tried to leave the stands to find safety, including a young woman. A ball girl was shown crying.
"We tried to tell the fans to stop because things would only get worse. We looked at the stands and there were no cops. There was nobody there to stop the fighting," said Atletico Paranaense defender Luiz Alberto, who was shown crying as the altercation was taking place.
"I'm playing for 20 years and I've never seen anything like this in person. We will have a World Cup in our country and we know these images will be shown everywhere."
One Atletico Paranaense supporter was caught in the middle of several Vasco da Gama fans and was hit several times. TV images showed him motionless on the ground after police arrived to clear the Vasco fans.
"This is very sad, I've never seen anything like this," Atletico Paranaense midfielder Everton said. "One of the fans was alone on the ground and he was being hit for about 10 minutes without anybody doing anything. They wouldn't stop hitting him."
A Vasco supporter also became separated from his group and was attacked by rivals.
"It's hard to focus on playing football after seeing what we saw in the stands," Vasco defender Chris said.
During the hour-long stoppage, Atletico Paranaense coach Vagner Mancini said: "I just feel like going home right now."
Police were not in the stands when the fighting began behind one of the goals in the stadium. A police spokesman said about 80 private security guards were on hand to make sure the fan groups remained separated.
The referee stopped the match just after 15 minutes, with Atletico Paranaense leading 1-0. After the fighting was over, a police helicopter landed near one of the goals to airlift the most seriously injured fan to a hospital.
The referee allowed the match to restart when more police officers were called in. They replaced the security guards separating the fan sections in the stands.
Vasco directors did not want the match to continue, saying they feared for their players' safety. No altercations were reported after the match ended.