El acuerdo causó conmoción a lo largo del país, y los opositores conservadores de Sánchez lo acusaron de poner en juego el Estado de derecho para su propio beneficio político.
"No nos callaremos hasta que haya nuevas elecciones", dijo el líder del Partido Popular (PP), Alberto Núñez Feijóo, a una multitud que abarrotaba la Puerta del Sol de Madrid.
Según las autoridades, en Madrid se congregaron 80,000 personas, mientras que el PP, que había convocado manifestaciones en ciudades de toda España, cifró la cifra en torno al millón.
Muchos portaban banderas españolas y de la UE, así como pancartas con lemas como "respeta la Constitución".
"Sánchez ha traicionado la convivencia, la democracia... no puede seguir gobernando", dijo el banquero Tomás Pérez, de 38 años, con una pancarta en la que se leía "Sánchez traidor".
"Mucha gente que conozco que vota a los socialistas se siente absolutamente decepcionada porque... Sánchez nunca dijo que la amnistía formaría parte de su programa", dijo Inmaculada Herranz Castro, de 64 años.
En Barcelona, la policía local dijo que se reunieron unos 6,000 manifestantes, mientras que en Granada fueron 30,000 y en Sevilla 50,000, según las autoridades. Otras protestas tuvieron lugar en ciudades como Málaga, Palma y Valencia.
Tras unas elecciones del 23 de julio que no resultaron concluyentes, los socialistas pasaron semanas negociando con partidos más pequeños, incluida la plataforma de extrema izquierda Sumar y partidos nacionalistas catalanes, gallegos y vascos.
El apoyo confirmado de Junts, así como del Partido Nacionalista Vasco, la semana pasada, daría a Sánchez la mayoría absoluta en la Cámara baja, de 350 miembros, en una votación prevista para los próximos días.