All of the dead were women, news agency Ansa reported. They have been publicly identified as Pierangela Tadini, 51, a resident of Vanzago, Giuseppina Pirri, a 39-year-old from Cernusco sul Naviglio, and Ida Maddalena Milanesi, a 62-year-old doctor from Caravaggio.
Around 100 people were injured in total and 46 were still being treated on Thursday afternoon, Ansa said. Four of them were in a serious condition, though their lives were not thought to be in danger.
The train, bound for Porta Garibaldi, derailed at 7am between Segrate and Pioltello, emergency services said. Many of the passengers on board were daily commuters, travelling to Italy's economic capital.
One woman told the newspaper La Repubblica that her daughter had called her on her phone to say "Mummy, help, the train is derailing" as the accident happened. Since then, the woman said there has been no reply on her daughter's telephone.
Italian media quoted witnesses as saying the train began to shake heavily as if it was travelling over rocks. Then it braked suddenly and derailed.
One of the carriages jack-knifed across the track, bent almost at a right angle.
The cause of the derailment was not immediately clear. Milan's public prosecutor's office has opened an investigation into the incident, according to Ansa.
Technicians from Rete Ferroviaria Italiana (RFI), the company responsible for maintaining Italy's railway tracks, found a 20cm gap in the tracks around 2km behind where the train derailed, in a section where maintenance work was due to be carried out, sources told the news agency.
In una foto la rotaia che ha ceduto - Il quel tratto in corso lavori di manutenzione https://t.co/tUTzEcvkx2— Ansa Lombardia (@AnsaLombardia) January 25, 2018
It is possible that the rail may have given way as the first carriages of the train passed over it, leading the wheels of the central carriages to come off the tracks. However, RFI said it was still working to establish whether that was "the cause or a consequence of the incident".
Milan police chief Marcello Cardona told La Stampa that technicians had "identified a breakdown between carriages" but said further investigations were underway to ascertain exactly what happened.
Rescue helicopters are seen at the site of the crash, airlifting the most seriously injured to hospital. Photo: Piero Cruciatti/AFP
"People were scared, they were shouting 'my God, my god, my god'. I managed to climb out of a window after the carriage went onto its side," John Eugaosa, a 25-year-old Nigerian living in Milan for work, told AFP.
His trousers stained with the blood of other passengers, he was waiting to see a doctor in one of the two gymnasiums used to take care of the more than 90 people who sustained light injuries.
A team of around 90 firefighters led a two-hour search-and-rescue operation at the site.
Photos from the scene showed injured survivors being evacuated, the more serious receiving first aid in a field close by. Others were transported to hospital via road or helicopter.
Photos shared by firefighters show the extent of the damage within the train. Photo: Italian fire service
As a result of the incident, rail and car traffic in the area were experiencing delays on Thursday morning.
Trenord said in posts on social media that rail traffic was interrupted "due to a technical problem, which required intervention from the relevant authorities". More detailed information about how regular traffic has been affected can be found on the company's website.
Circolazione interrotta tra Treviglio e Milano a causa di un inconveniente tecnico ad un treno. Per ulteriori info: https://t.co/8iK2mX5Apv— TRENORD_miVC (@TRENORD_miVC) January 25, 2018
Several users of social media criticized the company over use of the term 'inconveniente' ('problem' or 'mishap') to describe the deadly accident.
It is the most serious rail accident in Italy since 23 people were killed in a high-speed head-on collision between two passenger trains in July 2016 in the southern Puglia region.
A string of rail executives, including the former head of Italian railways, was convicted over that disaster after being judged responsible for poor infrastructure and risk-avoidance systems which contributed to the derailment.
Anyone looking for information about loved ones who may have been affected by the derailment can call one of two dedicated helplines: 02 7758 4184 or 02 7758 4892.