Narodil sa v rodine lesného robotníka. Ľudovú školu vychodil v rodnej obci. V rokoch 1938-1940 pracoval ako príležitostný lesný robotník. Potom začal študovať na Vojenskom zemepisnom ústave v Bratislave, kde získal odborné vzdelanie kartografa. Bol účastníkom SNP.
V rokoch 1946-1948 bol sociálnym referentom na Okresnom národnom výbore v Brezne, potom štyri roky študoval v Prahe na Vysokej škole politických a hospodárskych vied. Po skončení štúdia sa usadil v Bratislave. V rokoch 1952-1957 pracoval ako referent na oddelení kultúry ÚV KSS, potom bol tri roky vedeckým ašpirantom Inštitútu spoločenských vied v Prahe. Po zavŕšení štúdia sa niekoľko rokov venoval len literárnej tvorbe.
V rokoch 1967-1969 pracoval v redakcii denníka Smena, ktorý sa stal najčastejším priestorom na jeho politické vyjadrenia k udalostiam roka 1968. Pre tieto postoje a názory ho vylúčili z KSS a bol diskriminovaný aj s rodinou. Nesmel publikovať a nemohol získať ani primerané zamestnanie. Zamestnať sa mu podarilo až roku 1973, keď sa stal pracovníkom Ústredia ľudovej umeleckej výroby, kde zostal až do roku 1979.
Odvtedy sa venoval výlučne literárnej a publicistickej tvorbe. Po novembri 1989 sa stal čestným predsedom Spolku slovenských spisovateľov a členom Predsedníctva Matice slovenskej. Vykonával čestnú funkciu predsedu Prezídia Matice slovenskej. Jeho dielo našlo ohlas i v zahraničí, viaceré prózy boli preložené do cudzích jazykov a ocenené najvyššími cenami.
Má za sebou aj bohatú divadelnú, filmovú a úspešnú rozhlasovú tvorbu. Dvakrát bol kandidátom na prezidenta Slovenskej republiky. Žil v Bratislave. Veľmi blízky vzťah mal k obci Veľký Klíž, či už z dôvodu svojej životnej partnerky, manželky, ale aj preto, že pre svoju literárnu tvorbu tu nachádzal inšpirácie, čo sa odzrkadlilo v románe „Pivnica plná vlkov“.
V roku 2005 bol ocenený čestným titulom „doctor honoric causa, ktorý mu udelila Univerzita Konštantína filozofa v Nitre.