A traumatised woman who was at the pool with her eight-month-old baby told Stuff she was in the toddler pool when she heard the lifeguard's whistle.
She initially thought someone was breaking the rules.
"But then a lady on the grassy hill ahead of me screamed 'that's my baby' and she and a group of people ran from the grass to the pool, where a child was being pulled."
The woman said up to 30 people crowded around while the lifeguards tried desperately to revive the baby, she said.
Two St John ambulance rapid-response vehicles and two ambulances also responded to the incident, but did not transport anyone from the scene.
It has been 30C in Christchurch today, with many flocking to the city's beaches, rivers and pools to cool down.
Nigel Cox, Christchurch City Council head of recreation, sports and events, said the pool will be closed today and tomorrow.
"Our thoughts are with the family at this tragic time," he said.
"Given a police investigation is under way, we won't be making any further comment at this time."
A St Martins woman who arrived at the pool with her six-year-old daughter just before 3pm told Stuff she saw emergency services at the scene so she did not get out of the car.
"It looked like people were starting to leave and looking very sad, so I put two and two together. I have a young daughter, it's hits very close to home. [It's] heartbreaking for the family and our community."
At least four ambulances were at the scene, along with three police vehicles.
More to come