Absolwent politologii na Wydziale Humanistycznym Uniwersytetu Szczecińskiego.
Na początku lat 90. działał w PCK, w latach 1993-2003 członek Stowarzyszenia Młodej Lewicy. Był asystentem posłów Bogusława Liberadzkiego i Jacka Piechoty (SdRP). W l. 2002-2004 doradca wojewody zachodniopomorskiego Stanisława Wziątka. Był sekretarzem SdRP w l. 1995-1999, następnie zachodniopomorskich struktur SLD w l. 1999-2005. W l. 2004-2005 wiceprzewodniczący SLD, w l. 2005-2008 sekretarz generalny, a w l. 2009-2011 przewodniczący partii. W 2015 r. współzałożyciel partii Biało-Czerwoni.
Od 2019 r. członek klubu PO-KO. W l. 2002-2004 radny Szczecina. Senator w l. 2015-2019 (IX kadencja). Poseł w l. 2004-2015 oraz ponownie od 2019 r. (IV-VII i IX-X kadencja, w 2004 r. zajął miejsce Bogusława Liberadzkiego, wybranego do Parlamentu Europejskiego).
W IX kadencji był wiceprzewodniczącym Komisji Cyfryzacji, Innowacyjności i Nowoczesnych Technologii.