Pred drugo vojno je bil kot delavec zaposlen v tekstilni tovarni Jugobruna v Kranju. Bil je tajnik tekstilne podzveze Splošne strokovne zveze v Kranju. Zato je bil leta 1940 odpuščen. Nato je delal kot progovni delavec na železnici. Že pred drugo vojno je bil sekretar aktiva SKOJ-a. Od leta 1940 dalje je bil član Komunistične partije Slovenije. V narodno osvobodilni borbi je sodeloval od vsega začetka. Na začetku je deloval na Gorenjskem, nato na Štajerskem nazadnje na Dolenjskem. Po okupaciji Jugoslavije je najprej pomagal ustanoviti partijsko tehniko in organizirati partijske frontne organizacije. Od septembra 1942 dalje je bil sekretar OK KPS Kranj. Od novembra 1942 dalje je bil politični komisar 1. grupe odredov. Zaradi aktivnega sodelovanja v NOB so mu Nemci že leta 1942 kot talce ustrelili mater, brata in sestro.
Od marca 1943 dalje je bil sekretar poverjeništva PK SKOJ-a in sekretar pokrajinskega odbora Zveze slovenske mladine za Gorenjsko in Koroško. Bil je član vodstva USA OJ (Združena zveza protifašistične mladine Jugoslavije). Kot delegat se je udeležil prvega kongresa Zveze slovenske mladine in zbora odposlancev slovenskega naroda v Kočevju. Poleti leta 1944 je postal sekretar komisije za agitacijo in propagando pri oblastnem komiteju KPS za Štajersko. Urejal je revijo Novi čas. Nato je postal sekretar pri 15. diviziji in politični komisar 18. divizije.
Po končani vojni je bil najprej predsednik Okrajnega ljudskega odbora Kranj, nato pa več let pomočnik predsednika republiškega Sveta za zakonodajo. V letih 1953-61 je bil predsednik občinskega ljudskega odbora Kranj (dandanes kranjski župan). V letih 1972-78 je bil sekretar Zveze komunistov Slovenije. Med letoma 1982-86 pa je bil predsednik skupščine Socialistične republike Slovenije. Bil je tudi podpredsednik Izvršnega sveta Socialistične republike Slovenije, zatem predsednik sindikatov republike Slovenije in tudi šest let zvezni funkcionar v Beograd. Vinko Hafner se je upokojil že leta 1984, nato pa še pet let, do znanega odhoda Slovencev s kongresa leta 1989, deloval kot član centralnega komiteja Zveze komunistov Jugoslavije. Prav odhod s kongresa ga je spodbudil, da se je s politiko dokončno nehal ukvarjati.Z ženo, s katero sta se poročila leta 1946 sta živela v Ljubljani. Imata tri otroke, šest vnukov in leta 2008 tudi tri pravnuke.
Za svoje delovanje v osvobodilnem boju je bil večkrat tudi odlikovan. Je tudi nosilec partizanske spomenice leta 1941. Leta 1972 mu je takratna Skupščina občine Kranj podelila naslov častnega občana za »izredne zasluge v revolucionarnem boju in graditvi socialistične samoupravnosti. Leta 1981 mu je bila podeljena nagrada glavnega mesta Ljubljane.
Enciklopedija Slovenije, 4. zvezek, Ljubljana 1990
Osebnosti, od A do L, Ljubljana 2008