Narodil se 16. října 1945 v Českých Budějovicích, vystudoval Právnickou fakultu Univerzity Karlovy v Praze, kde v roce 1973 získal titul JUDr. Mezi lety 1969 a 1984 pracoval jako podnikový právník v několika státních podnicích, mimo jiné i ve Vinařských závodech Mikulov, Státních lázních Jeseník, Rudných dolech Jeseník nebo v Ingstavu Brno.

Poté nastoupil na pět let do Institutu pro další vzdělávání pracovníků ve zdravotnictví v Brně, kde působil do roku 1990 jako odborný asistent. V roce 1991 byl poradcem zmocněnce vlády ČSFR pro otázky uprchlíků. V říjnu 1991 přešel na Nejvyšší soud a jako soudce působil v letech 1992 až 1994. Soudcem Ústavního soudu byl jmenován 29. března 1994 a svou funkci vykonával deset let. Koncentroval se na problematiku správního soudnictví, medicínské a pracovní právo.

Po odchodu v roce 2004 upoutal pozornost tím, že napadl neúspěšně ústavní stížností systém vypočítávání důchodů, který diskriminuje lidi s vyššími příjmy. Ústavní soud vyhověl až letošní obdobné stížnosti jednoho z ostravských soudců.

Na pozici ombudsmana byl nominován senátory z vládní koalice ODSTOP 09 a Starostové. V tajné volbě získal od poslanců 98 hlasů, jeho soupeř John Bok 22. Opoziční sociální demokraté dopředu avizovali, že nedají hlas žádnému z kandidátů.

Varvařovský post veřejného ochránce práv opustil koncem roku 2013. Zdůvodnil to mimo jiné osobními důvody. Před tím nicméně opakovaně upozorňoval, že nebudou-li poslanci reflektovat jeho  návrhy na změny legislativy, rezignuje. Jeho nástupkyní byla v únoru 2014 zvolena Anna Šabatová.

Varvařovský je ženatý, má dvě dospělé děti. Za svůj život nepůsobil v žádné politické straně či hnutí.