Llicenciat (1976) i doctor (1985) en història contemporània per la Universitat de Barcelona, fou professor a la Universitat Autònoma de Bellaterra (1977-2023).
Publicà El catalanisme d’esquerra (1928-1936) (1977), El republicanisme lerrouxista a Catalunya (1921-1923) (1986), Joan Casanellas i Ibarz (1904-1986) (1991), Unió Democràtica de Catalunya. El llarg camí (1931-2001) (2002), Israel, el somni i la tragèdia. Del sionisme al conflicte de Palestina (2004), La dreta espanyola a Catalunya (2009), Breve historia del sionismo (2009), Esquerra Republicana de Catalunya 1931-2012. Una història política (2013), El tsunami. Com i per què el sistema de partits català ha esdevingut irreconeixible (2017) i Amb Poblet al cap i al cor: El Pare Bernat Morgades i el seu temps (1911-1963) (2021), i les memòries La història viscuda (2019).
En col·laboració, fou autor de Les eleccions generals a Catalunya de 1901 a 1923 (1982), El franquisme i la transició democràtica (1939-1988) (1989) i Diccionari dels partits polítics de Catalunya. Segle XX (2000, amb Isidre Molas), a més de participar en diverses obres col·lectives. Dirigí, en col·laboració amb Lluís Basset i Borja de Riquer, Memòria de Catalunya. Del retorn de Tarradellas al pacte Pujol-Aznar (1997), i coordinà El pal de paller. Convergència Democràtica de Catalunya (1974-2000) (2001).
Des de l’inici de la seva activitat professional tingué una destacada presència en els mitjans de comunicació, com a analista, tertulià i comentarista polític a la ràdio i a la televisió, divulgador (especialment com a assessor en els programes d’història contemporània Memòria popular, del circuit català de TVE, en 1980-82, i com a director i presentador del programa Segle XX, de Televisió de Catalunya, del 1991 al 2013), i articulista en revistes (Serra d’Or, L’Avenç) i a la premsa diària. En aquest vessant, en destaquen les col·laboracions regulars a l’Avui, El País (on, després de 33 anys, el 2017 deixà de col·laborar per la deriva espanyolista del diari) i l’Ara.
Molt implicat en el debat polític, sobretot pel que fa a la relació Catalunya-Espanya, però també d’altres com el generat entorn de la identitat jueva, l’antisemitisme i l’Estat d’Israel, fou membre actiu de la Fundació Acta (1987-93), grup de reflexió i debat de signe nacionalista catalanista i liberal impulsat en una mesura important per qui fou conseller de Cultura Max Cahner. Fou també vocal a la junta del Cercle d’Economia (2011-19).