The man, who was not identified, poured a bottle of petrol on himself on Monday in front of a restaurant in the busy shopping street in in Little India enclave.
He then set himself on fire and began running around screaming when the fire grew too hot and painful.
Bystanders and shopkeepers who heard his screams rushed out with cloth and sacks and managed to put out the fire.
However, the victim was severely burnt and was sent to the Klang hospital by paramedics.
The man, who reportedly delivers cooking gas cylinders for a living, was drunk at the time of the incident, bystanders said.
Get Breaking news, live coverage, and Latest News from India and around the world on NDTV.com. Catch all the Live TV action on NDTV 24x7 and NDTV India. Like us on Facebook or follow us on Twitter and Instagram for latest news and live news updates.