W maju 1968 jako licealista został tymczasowo aresztowany za sporządzenie i rozpowszechnianie ulotek popierających protesty studenckie. Został skazany na karę 3 lat pozbawienia wolności, zwolniony na mocy amnestii z lipca 1969[2]. Wiosną 1976 brał udział w organizacji akcji zbierania podpisów przeciwko planowanym zmianom w Konstytucji PRL. Po wydarzeniach czerwcowych w 1976 uczestniczył w akcji pomocy dla represjonowanych robotników. Od listopada 1976 współpracował z Komitetem Obrony Robotników, następnie KSS KOR. Od 1978 działacz Wolnych Związków Zawodowych Wybrzeża, redaktor pism niezależnych „Robotnik” i „Robotnik Wybrzeża”, kolporter i drukarz wydawnictw drugiego obiegu[2]. Od 1977 do 1979 organizator obchodów rocznic wydarzeń grudnia 1970[3].
Po wprowadzeniu w kraju stanu wojennego uniknął internowania, od 14 do 16 grudnia 1981 uczestniczył w strajku w Stoczni Gdańskiej[2]. Po jego pacyfikacji przebywał w ukryciu, był organizatorem podziemnych struktur „Solidarności”. W styczniu 1986 został tymczasowo aresztowany, zwolniony we wrześniu tego samego roku na mocy amnestii. Od listopada 1986 wchodził w skład Tymczasowej Rady „Solidarności”, w maju i sierpniu 1988 wspierał kolejne strajki w Stoczni Gdańskiej[4][5]. Od 1989 w Prezydium Krajowej Komisji Wykonawczej NSZZ „Solidarność”. Odmówił udziału w obradach Okrągłego Stołu[2].
Od 1991 do 2001 sprawował mandat posła I, II i III kadencji. Do Sejmu I kadencji wszedł z ramienia NSZZ „Solidarność”. Pełnił funkcje przewodniczącego klubu parlamentarnego oraz przewodniczącego Komisji Nadzwyczajnej do zbadania skutków stanu wojennego. Opowiadał się za współpracą z Unią Demokratyczną (m.in. przy tworzeniu rządu Hanny Suchockiej). W maju 1993 był przeciwnikiem głosowania za wotum nieufności dla tego gabinetu. Po rozwiązaniu Sejmu przez prezydenta odszedł ze związku, a w wyborach parlamentarnych w tym samym roku wystartował z listy Unii Demokratycznej. W II kadencji Sejmu był m.in. przewodniczącym Komisji ds. Służb Specjalnych. W 1994 został członkiem Unii Wolności.
Od października 2001 do października 2005 był członkiem zarządu województwa pomorskiego (od grudnia 2002 do marca 2004 w randze wicemarszałka)[6][7][8][9][10]. W 2002 bez powodzenia startował w wyborach samorządowych na urząd prezydenta Gdańska (zdobył 16,32% głosów). Uzyskał wówczas mandat radnego miasta, z którego wkrótce zrezygnował.
Jako kandydat niezależny (reprezentujący Komitet Wyborczy Wyborców Bogdana Borusewicza)[12], będąc popieranym przez PiS oraz PO, uzyskał mandat senatora w wyborach parlamentarnych w 2005, startując w okręgu gdańskim. 20 października tego samego roku głosami senatorów Prawa i Sprawiedliwości oraz Platformy Obywatelskiej został wybrany na marszałka Senatu VI kadencji. Zakończył urzędowanie z dniem 4 listopada 2007.
W wyborach parlamentarnych w 2007 zdecydował się wystartować do Senatu jako kandydat Platformy Obywatelskiej. Po raz drugi uzyskał mandat senatora z okręgu gdańskiego (z wynikiem 267 066 głosów)[13]. Nie przystąpił do klubu parlamentarnego PO, pozostając senatorem niezrzeszonym. 5 listopada 2007, podczas pierwszego posiedzenia izby wyższej parlamentu, został ponownie wybrany na urząd marszałka Senatu (z rekomendacji PO).
W 2011 wstąpił do PO[15]. Z jej ramienia wystartował w wyborach parlamentarnych w tym samym roku. W jednomandatowym okręgu wyborczym nr 65 uzyskał reelekcję, otrzymując 147 909 głosów[16]. 8 listopada 2011 podczas pierwszego posiedzenia Senatu VIII kadencji został wybrany kolejny raz na marszałka Senatu.
14 grudnia 2013 objął funkcję wiceprzewodniczącego Platformy Obywatelskiej, którą pełnił do 8 lutego 2020. W 2015 był jednym z założycieli komitetu wyborczego Bronisława Komorowskiego w wyborach prezydenckich[17]. W wyborach w tym samym roku został ponownie wybrany na senatora (dostał 122 543 głosy)[18]. 12 listopada 2015 wybrany na wicemarszałka Senatu IX kadencji[19]. W wyborach parlamentarnych w 2019 z powodzeniem ubiegał się o senacką reelekcję, otrzymując 195 056 głosów[20]. 12 listopada tego samego roku ponownie został wicemarszałkiem Senatu[21]. W wyborach parlamentarnych w 2023 utrzymał mandat senatora na kolejną kadencję z wynikiem 223 227 głosów[22].
↑Obwieszczenie Państwowej Komisji Wyborczej z dnia 31 października 1991 r. o wynikach wyborów do Sejmu Rzeczypospolitej Polskiej, przeprowadzonych w dniu 27 października 1991 r. (M.P. z 1991 r. nr 41, poz. 288).
↑Obwieszczenie Państwowej Komisji Wyborczej z dnia 23 września 1993 r. o wynikach wyborów do Sejmu Rzeczypospolitej Polskiej przeprowadzonych w dniu 19 września 1993 r. (M.P. z 1993 r. nr 50, poz. 470).
↑Obwieszczenie Państwowej Komisji Wyborczej z dnia 25 września 1997 r. o wynikach wyborów do Sejmu Rzeczypospolitej Polskiej przeprowadzonych w dniu 21 września 1997 r. (M.P. z 1997 r. nr 64, poz. 620).