Narodil se 2. března 1966 v Olomouci.

V roce 1984 dostudoval Gymnázium Šternberk. O šest let později absolvoval učitelství všeobecně vzdělávacích předmětů český jazyk – občanská nauka na Pedagogické fakultě Univerzity Palackého v Olomouci, kde získal magisterský titul. Později získal tituly Ph.D. a docent.

Na pedagogické fakultě Univerzity Palackého v Olomouci působí také jako proděkan pro studijní záležitosti a vedoucí Katedry společenských věd.

V komunálních volbách v roce 2006 kandidoval za ČSSD do zastupitelstva města Olomouce, ale neuspěl. Zastupitelem se stal ve volbách v roce 2010. 10. listopadu 2014 byl zvolen primátorem statutárního města Olomouce. Od října 2017 je poslancem.

Je ženatý a má syna.