France beat neighbors Belgium 1-0 in their semi-final in St. Petersburg.

According to the French TV channel BFM, the fans were detained near Champs-Elysees avenue in the city centre.

Five of them celebrated victory with flares, one of them was accused of committing theft and the other one was detained for insults and disobedience.

The channel added that the windows of four shops had been shattered and several trash cans had been set on fire.

A total of 49 people were detained across the country, and nine police officers were injured.

Several people were also detained in the Belgian town of Courtrai, close to the French border, after a brawl between French and Belgian fans, according to local media reports.

The final, where Les Bleus will face either Croatia or England, will take place at Moscow's Luzhniki Stadium on Monday morning at 1:00am AEST.