V letech 2002 až 2010 byl starostou obce Suchá Loz. Roku 2004 vstoupil do hnutí Nezávislí starostové pro kraj a jako jeho reprezentant se v roce 2008 stal zastupitelem za Zlínský kraj. Stál při zrodu organizace Starostové a nezávislí, jíž v letech 2009 až 2014 předsedal.
Na sněmu v březnu 2014 nekandidoval a vedení hnutí se ujal Martin Půta. Poté, co Půta v prosinci 2015 odstoupil, hnutí opět vedl jako úřadující předseda a v dubnu byl zvolen za řádného předsedu. V dubnu 2019 ho v čele strany vystřídal Vít Rakušan a Petr Gazdík se stal místopředsedou.
V prosinci 2021 ho prezident jmenoval ministrem školství, ale už v červnu 2022 na tuto funkci rezignoval.
Od roku 2010 je poslancem, v letech 2013 až 2017 byl místopředsedou Sněmovny.
Získal magisterský titul na Pedagogické fakultě Masarykovy univerzity v Brně. Po ukončení studia vyučoval matematiku, zeměpis a tělesnou výchovu na ZŠ Josefa Bublíka v Bánově.