W wyborach parlamentarnych w 2007 z ramienia Platformy Obywatelskiej został wybrany na senatora VII kadencji w okręgu pilskim, otrzymując 87 996 głosów. W grudniu 2007 został przedstawicielem Senatu w Organizacji Bezpieczeństwa i Współpracy w Europie. Pełnił funkcję wiceprzewodniczącego Polsko-Szwajcarskiej i przewodniczącego Polsko-Austriackiej Grupy Parlamentarnej, przewodniczącego parlamentarnego zespołu ds. dróg wodnych oraz turystyki wodnej. Zasiadał w Komisji Spraw Unii Europejskiej, w 2009 został wiceprzewodniczącym Komisji Rolnictwa i Ochrony Środowiska.
W listopadzie 2010 został wybrany na urząd prezydenta Piły, uzyskując w pierwszej turze ponad 50% głosów, w rezultacie utracił mandat senatorski. W 2014 i 2018 z powodzeniem ubiegał się o reelekcję, ponownie wygrywając w pierwszej turze. W 2019 powołany przez marszałka województwa wielkopolskiego w skład pełniącej funkcję doradczą Wielkopolskiej Platformy Wodorowej.