Han var leder i Kristdemokratiska ungdomsförbundet 1973–1981, innvalgt i Vallentuna kommunfullmäktige og kommunstyrelse (kommunestyre og formannskap) 1979–1991, innvalgt i Sveriges riksdag fra Stockholms läns valgkrets 1991–2014, kommunikasjonsminister i Carl Bildts regjering 1991–1994, og kommunal-, bolig- og finansmarkedsminister i Fredrik Reinfeldts regjering 2006–2010. Etter at han trådte ut av regjeringen i 2010, ble han leder i den kristendemokratiske riksdagsgruppen. Odell var Kristdemokraternas 2. nestleder 2004–2012, men tapte med en tredjedel av stemmene da han utfordret Göran Hägglund om partiledervervet i 2012. Odell trakk seg også som leder i riksdagsgruppen.