The incident occurred at 8.30am in the Valdecarros station in the south-east of the city, according to Spanish daily 20 Minutos.
The man, a Spanish national, fell onto the tracks for unknown reasons and was struck by a train which severed his left leg. He was reported to have remained conscious throughout.
Emergency services reported that the man was rescued from the tracks by Metro staff and was given emergency medical attention on the platform by ambulance personnel.
Metro services on Line 1 were temporarily halted but are now functioning normally.
Once stabilized, he was moved to intensive care in the Doce de Octubre Hospital before undergoing an operation.
Doctors reported on Friday afternoon that he was 'stable'.
Police are investigating to determine why the man fell but a Metro spokesperson told the press that, unlike in many similar cases, "it was not certain that the man had thrown himself in front of the train intentionally".