A 19-year-old man is in hospital in Quebec City after being doused with gasoline and set on fire outside a restaurant in the suburb of Vanier Saturday morning.

Police arrested a 24-year-old suspect at the scene of the attack on Wilfrid-Hamel Boulevard, which was witnessed by a number of people.

"I saw one on fire and he tried to go back in the restaurant but came out again," said Sandra Pinette.

Pinette said the victim and the suspect came out of the restaurant together. The suspect began hitting the victim, who didn't fight back, and then threw gasoline on him from a canister.

"He was laughing at him while he was on fire," Pinette said.

She said two soldiers in uniform intervened and told the victim to roll in a puddle to put out the flames.

Christine Labrasseur, a spokeswoman for Quebec City's police department, said the two men know each other.

The victim, the suspect and a 20-year-old witness suffering from shock were taken to hospital.

The suspect will appear in court on Monday morning.

Police are continuing their investigation.