The man was rushed to Rome's Sant'Eugenio hospital with third-degree burns over his upper body on Thursday after he poured petrol over himself and set fire to his clothes with a lighter, in shocking footage caught on closed-circuit television.
A Jesuit priest at the scene threw his coat over the man before two public security officers were able to put out the flames with a fire extinguisher.
Police said the man left a note on the ground nearby with his daughter's phone number.
The last self-immolation in St Peter's Square was in 1998 when a 40-year-old Italian gay man set himself on fire in a protest against the Catholic Church's stance on homosexuality. He died of his wounds a few days later.