È stato un sostenitore di Matteo Renzi alle primarie del centrosinistra del 2012, e poi eletto l'anno seguente senatore della XVII legislatura della Repubblica Italiana nella Circoscrizione Lombardia per il Partito Democratico. Diventa quindi membro della Commissione Esteri e di quella degli Affari Europei (in quest'ultima come capogruppo del PD) e poi dal 2014 anche della Commissione Contenziosa e di quella Affari Costituzionali (in quest'ultima in sostituzione di Luciano Pizzetti); nel corso del dibattito sulla riforma costituzionale, ha presentato alcuni emendamenti tra cui uno che è stato definito "canguro" dalla stampa, poiché ha fatto decadere diverse migliaia di altri emendamenti ostruzionistici presentati dalle opposizioni, consentendo un'approvazione più rapida del testo. A partire dal luglio del 2016 ha quindi lavorato attivamente nella campagna per il Sì al referendum costituzionale di quell'autunno, con l'incarico di coordinare i comitati territoriali. Nel 2017 viene incaricato alla guida del dipartimento per la cooperazione internazionale in seno alla segreteria del PD.