British Transport Police (BTP) officers were called to Loughborough Junction station, near Brixton, shortly after 7.30am following reports of multiple bodies being found on the track.
An investigation has begun to identify the men and the reason why they were there.
Officers were seen taking photographs of graffiti as part of their inquiries.
Superintendent Matthew Allingham told a news conference held near the scene that the first call to police about the deaths was made by a train driver.
“It is believed they died earlier in the morning and injuries are consistent with being hit by a train,” he said.
“Officers have delivered the sad news to one family as we believe one of the men was their son.
“However we are still working to identify and locate the next of kin for the other two men. All three men are believed to be in their 20s.”
Mr Allingham said officers were still working to identify the train that hit the men.
“We know they were dead for a while before we turned up,” he said. “It is a possibility that it was during the hours of darkness, that’s why it wasn’t reported earlier.”
Loughborough Junction station is between Herne Hill and Elephant and Castle and is served by Thameslink. The platforms and tracks are above ground level on a viaduct, and the area is popular with graffiti artists.
Speaking about the spot where the three men were found, Mr Allingham said: “There isn’t a sort of safe refuge up there, so if somebody was on those tracks there wouldn’t be anywhere for them to go to avoid the train.
“As far as I understand it, if they’ve been caught in that section of track when a train came through then they really wouldn’t have had much options.”
There were no reports of any passenger trains being involved, which suggests the men were struck by a freight train.
Mayor of London Sadiq Khan said: “My heart goes out to the families of the three people killed at Loughborough Junction station this morning.
“We are in close contact with the British Transport Police who are urgently investigating this incident.”
National Rail said services would be delayed while inquiries continue.
Information can be passed to BTP by sending a text to 61016 or by calling 0800 40 50 40, quoting reference 93 of 18/06/2018.