A Quebec police spokesman confirmed that there were people killed, but did not say how many.
Two suspects in the shooting were arrested, he said.
Police did not rule out the possibility of a third suspect who had fled the scene.
The motive of the attack was not immediately clear. Police set up a perimeter around the mosque.
A few dozen people were inside the Islamic Cultural Center when the shooting began just after 8:00 pm (0100 GMT Monday), CBC reported, citing its French-language service Radio-Canada.
The center’s director said at least five people were killed, but that information had not been confirmed by police, CBC said.
According to witnesses cited by Radio-Canada, two men entered the center and opened fire on the people inside.
Quebec’s prime minister, Philippe Couillard, said in a series of Twitter posts that the government was “mobilized to ensure the security of the people of Quebec.”
“Quebec categorically rejects this barbaric violence,” he wrote. “Solidarity with Quebec people of Muslim faith.”
The Islamic Cultural Center of Quebec, which is also known as the grand mosque of Quebec, had already been the target of hate: a pig’s head was left on the doorstep last June during the Muslim holy month of Ramazan.
The attack comes as Canada has vowed to open its arms wide to Muslims and refugees after US President Donald Trump’s controversial immigration ban Friday sparked travel chaos and outrage around the world.
Canada will offer temporary residence permits to people stranded in the country as a result of Trump’s order, the immigration ministry said Sunday.
“Let me assure those who may be stranded in Canada that I will use my authority as minister to provide them with temporary residency if needed as we have done in the past,” Immigration Minister Ahmed Hussen said at a news conference.
Trump has suspended the arrival of all refugees to the US for at least 120 days and barred entry for 90 days to people from seven Muslim-majority countries: Iran, Iraq, Libya, Somalia, Sudan, Syria and Yemen.
Hussen, who is of Somali origin, did not condemn the US measure but stressed that Canada would continue to pursue an immigration policy based on “compassion” while at the same time protecting the security of its citizens.
“We welcome those fleeing persecution, terror and war,” he said, echoing a welcoming Twitter post by Prime Minister Justin Trudeau on Saturday.
According to the latest Canadian census, from 2011, one out of five people in the country are foreign-born.
Canada has welcomed more than 39,670 Syrian refugees between November 2015 and early January 2017, according to government figures.