A man has been charged with attempted murder and aggravated assault after his ex-wife was set on fire in Quebec City, police allege.

The 39-year-old man was taken into custody by Quebec provincial police on Saturday at a fast food restaurant in Drummondville, about 110 kilometres east of Montreal, police said.

Sgt. Etienne Doyon told reporters that the victim, who is in her 20s, suffered major injuries to her face, back and hands and she is in critical condition.

The woman was allegedly set ablaze and her young children and her mother witnessed the incident just before 9 p.m. in Quebec City's St-Sauveur neighbourhood, said Doyon.

The woman was rushed to hospital and her kids and mother were also taken to hospital for shock.

"We know that children were witness to the scene among other witnesses who were met by police," said Doyon.

One of those witnesses said he ran to the woman to extinguish the flames.

Martyn Allard said he was sitting on his second-floor balcony when he spotted someone being chased by a person who appeared to be holding a torch.

When he looked closer, he said the woman was on fire.

"She was screaming 'I'm on fire, I'm on fire, Help me!,"' said Allard.

He said the woman was screaming in pain as he tore her fiery clothes off her while another person used blankets to put out the blaze.

"Her hair was on fire, she was like a human torch," said Allard. "Her long hair was scorched, you could only smell gasoline."

He said she was losing consciousness, but Allard said he urged her to stay alert until help arrived.

"I'm sure everyone heard her, they were cries of death," said Allard.

"I'd never heard anything like it in my life."