Witnesses spoke of seeing bloodied bodies, with children also believed to be among the dead, and police warned of "extremely distressing footage" of the incident circulating on the internet.
Police said four people -- three men and a woman -- had been taken into custody, and that they had found and neutralised a number of IEDS (improved explosive devices).
A Palestinian man who was in one of the mosques said he saw someone being shot in the head.
"I heard three quick shots then after about 10 seconds it started again. It must have been an automatic -- no one could pull a trigger that quick," the man, who did not wish to be named, told AFP.
"Then people started running out. Some were covered in blood," he said, adding that he joined the fleeing crowd and managed to escape the scene.
Local media reported at least nine people were dead and the South Island city was placed under lockdown. Police said that armed officers were attending a number of scenes.
"This is an evolving incident and we are working to confirm the facts, however we can confirm there have been a number of fatalities," police commissioner Mike Bush said.
"Police are responding with its full capability to manage the situation, but the risk environment remains extremely high," Bush said.
New Zealand police said in a tweet that they were aware of "extremely distressing footage relating to the incident in Christchurch circulating online."
"We would strongly urge that the link not be shared. We are working to have any footage removed."
- 'Darkest days' -
An ashen-faced Ardern said she was unable to confirm the number of fatalities, with events still unfolding.
"It is clear that this is one of New Zealand's darkest days," she told reporters. "Clearly, what has happened here is an extraordinary and unprecedented act of violence."
The Masjid al Noor in central Christchurch was filled with worshippers when the attack happened, as was the second mosque in suburban Linwood.
One witness told stuff.co.nz he was praying when he heard shooting -- and then saw his wife lying dead on the footpath outside when he fled.
Another man said he saw children being shot.
"There were bodies all over," he said.
An eyewitness told Radio New Zealand that he heard shots fired and four people were lying on the ground, with "blood everywhere".
Police said they had put the entire city on lockdown including schools, and told residents to stay off the streets.
They also warned Muslims all over the country not to visit mosques "anywhere in New Zealand". Friday is Islam's holy day.
Christchurch city council offered a helpline for parents looking for kids attending a mass climate change rally nearby.
"Please do not try and come and collect your children until police say it is safe for people to come into the central city," they said.
The Bangladesh cricket team -- which had been in Christchurch for a test match against New Zealand that was later cancelled -- all escaped without injury.
A spokesman said the attack happened as some of players got off a team bus and were about to enter the mosque.
"They are safe. But they are mentally shocked. We have asked the team to stay confined in the hotel," he told AFP.
Mass shootings are rare in New Zealand, which tightened its gun laws to restrict access to semi-automatic rifles in 1992, two years after a mentally disturbed man shot dead 13 people in the South Island town of Aramoana.
However, anyone over 16 can apply for a standard firearms licence after doing a safety course, which allows them to purchase and use a shotgun unsupervised.
Christchurch, a relatively small city in the south of New Zealand, hit global headlines in 2011 when it was struck by a deadly earthquake.
Dozens of people died and the city's historic cathedral was toppled in the disaster.