Las contraofensivas republicanas de mitad y finales de 1937 se plantearon y ejecutaron de acuerdo a dos necesidades básicas e ineludibles. Por una parte la necesidad de comprobar la eficacia de las recién formadas brigadas mixtas del Ejército Popular y la operatividad y eficacia de los mandos y material ruso enviado desde Moscú. Por otro a la necesidad de detener las ofensivas que el Alto Mando Nacional había planeado y estaba ejecutando en la zona norte republicana.
Tras el final de las operaciones en el frente de Madrid, el ejército nacional se lanzó a la conquista del norte republicano. El Alto Mando del Ejército Popular advirtió el peligro que ello supondría para su esfuerzo bélico. Por ello decidió que el verano de 1937 había de ser el del verdadero bautismo de fuego de su ejército. A partir de ahora el Ejército Popular de la República atacaría y no se limitaría sólo a defender. Los comunistas, que habían escalado el pináculo del poder tras los sucesos de mayo, expusieron un plan para atacar Brunete y romper el cerco de Madrid. El jefe de gobierno Largo Caballero propuso un ataque por Extremadura pero estaba ya muy desacreditado tras los sucesos de mayo y el criterio comunista prevaleció. El jefe de gobierno presentó la dimisión.
Al mismo tiempo que se preparaba la ofensiva de Brunete la República lanzó algunas ofensivas secundarias en Huesca y Segovia para tratar de frenar la caída de Bilbao pero en líneas generales fracasaron y el destino de Bilbao quedó sellado. Con Bilbao en poder de Franco el 15 de junio de 1937 se preparaba la próxima conquista de Santander pero entonces, apresuradamente, la República lanzó su esperado ataque diversivo. Para la ofensiva cuyo objetivo era la conquista de Brunete la República reunió dos Cuerpos de Ejército, el 5 y el 18. En el primero se incluía la división 11 de Líster y la 46 de otro comunista que había ganado sus laureles en las batallas de Madrid, Valentín González "el Campesino". El segundo incluía las brigadas 11 y 12 internacionales. Este ejército sumaba alrededor de 85.000 hombres bien apoyados en medios blindados y aéreos.
Los nacionales quedaron sorprendidos por la ofensiva republicana. En los primeros momentos sólo podían oponer a su avance la división 71 compuesta básicamente de falangistas y unos cuantos tabores de marroquíes. El 6 de julio la división 11 republicana se lanzó al ataque y avanzó 16 kilómetros rodeando Brunete. Los nacionales tuvieron que detener su ofensiva en el norte y enviar como refuerzo elementos de la Legión Cóndor alemana y grandes cantidades de artillería pesada. Mientras tanto Brunete había caído pero el avance había encontrado una creciente resistencia. La ofensiva, librada en el caluroso mes de julio, estaba convirtiéndose poco a poco en una batalla de desgaste. El 8 de julio cayó Quijorna, el 11 Villanueva del Pardillo y Villafranca del Castillo, pero en Boadilla los nacionales resistían ferozmente. El dominio aéreo era momentáneamente republicano pero ello iba a cambiar muy pronto. Durante esta batalla aparecieron por primera vez en los cielos los nuevos cazas alemanes Messerschmit Me-109 que aunque inferiores en número a los "moscas" rusos eran mucho más eficaces que éstos. El 13 de julio por tanto, los republicanos, en creciente inferioridad aérea detuvieron la ofensiva y se empezaron a atrincherar en las posiciones conquistadas. Se había conquistado un terreno equivalente a unos 12 kilómetros al sur de Brunete.
El ataque no había obtenido éxito en parte debido a un problema del que el Ejército Popular adoleció durante toda la guerra. Era el hecho de que esta fuerza de combate estaba inspirada en los manuales de guerra rusos y franceses que tan anticuados se revelarían durante los primeros años de la II Guerra Mundial. Por el contrario el Ejército nacional se basó en las enseñanzas revolucionarias de la guerra relámpago y además era un ejército más férreamente dirigido a nivel político. El 18 de julio se produjo la contraofensiva nacional tratando de reconquistar el terreno perdido. La batalla se prolongó bajo unas condiciones climáticas extremas de calor hasta el 22 de julio. Brunete fue reconquistado y los republicanos conservaron las localidades de Quijorna, Villanueva de la Cañada y Villanueva del Pardillo, una superficie de unos 6 kilómetros de profundidad, pagando por ello un precio de 20.000 muertos y 100 aviones. Los nacionales lamentaron 17.000 muertos y 23 aviones.
La ofensiva había fracasado y Franco pudo por fin continuar su ofensiva en el norte, que sólo sufrió un retraso de cuatro semanas. Para tratar de detenerla se planteó una nueva ofensiva, esta vez en el frente de Aragón. La ofensiva la llevó a cabo el recién formado Ejército del Este con el general Pozas a la cabeza y que reunía unos 80.000 hombres. La acción, conocida posteriormente como batalla de Belchite, tenía por objetivo final la conquista de Zaragoza con un ataque simultáneo desde tres puntos.
Dio comienzo el 24 de agosto cuando ya Santander había caído en manos de Franco. Las localidades de Quinto y Codo, al norte de Belchite, fueron las primeras en caer. Mediana cayó el 26 de agosto. Pero la tenacidad de los defensores nacionales, sobre todo en la localidad de Belchite, sorprendió a los republicanos. Además Francono decidió como en Brunete enviar refuerzos del norte a ese nuevo sector amenazado por lo que la ofensiva no cumplía una de sus condiciones básicas, retardar el avance nacional sobre Santander y Asturias. Belchite acabó por rendirse el 6 de septiembre pero para entonces la ofensiva por Zaragoza debía suspenderse ante la gran cantidad de bajas republicanas producidas por tan encarnizada defensa. Además los cielos volvían a estar bajo el dominio de los cazas nacionales por lo que la República tuvo que establecerse a la defensiva.
El otoño de 1937 confirmó la conquista del norte por los ejércitos victoriosos del general Franco. Las ofensivas de Brunete y Belchite no había prácticamente cambiado la situación ni la marcha de las operaciones. El alto mando nacional, ante la ya escasa respuesta de los republicanos en los frentes, se dedicó a planear nuevos ataques sobre Madrid para la primavera de 1938. Pero entonces cuando ya había llegado el invierno la República volvió de nuevo al ataque. El alto mando republicano planeó para diciembre una ofensiva en los alrededores de Teruel. El Ejército de Levante sería el encargado de llevar a cabo el ataque con alrededor de 100.000 hombres y divididos en tres Cuerpos de Ejército, el 18, el 20 y el 22. El 15 de diciembre de 1937, sin preparación artillera ni aérea, se inició la ofensiva. Por la noche la ciudad de Teruel ya se encontraba sitiada. El comandante en jefe de la guarnición Rey d´Harcourt decidió defender la ciudad y se retiró hacia el interior con unos 4.000 hombres, la mitad de ellos paisanos que luchaban a favor de Franco. La ofensiva pronto recordó a la de Belchite, con los republicanos sufriendo gran cantidad de bajas en los combates callejeros de Teruel. A pesar de todo los combatientes nacionales sufrieron aún más debido a los efectos del frío ya que estaban peor abrigados que los republicanos. Hasta el 8 de enero de 1938 Teruel resistió pero finalmente se rindió. La conquista de Teruel, la primera y única capital tomada por la República en la guerra, era un reflejo de la cada vez más eficaz máquina bélica republicana ¿alcanzaría su mayoría de edad el Ejército Popular a tiempo de impedir la derrota? el desenlace final de la guerra demostró que no.
El 17 de enero el general Varela, al mando de las tropas nacionales del frente de Teruel, lanzó el primero de sus ataques para reconquistar las alturas de Teruel, principalmente la denominada "Muela de Teruel" posición clave para la defensa de la ciudad. La República trató de resistir y contraatacó los días 25, 26 y 27 de enero pero entre sus combatientes empezaba ya a cundir la fatiga bajo el frío intenso. Los nacionales decidieron el 7 de febrero lanzar un ataque en dirección al río Alfambra, al norte de Teruel que constituyó la rotura total del frente republicano, ahora era prácticamente imposible defender la capital. La última batalla por Teruel empezó el 17 de febrero con un movimiento envolvente que pretendía aislar la ciudad del frente republicano. El 20 el cerco quedó casi completado, erntonces se ordenó la retirada, pero 14.500 combatientes republicanos cayeron prisioneros y Teruel cayó. Nuevamente, como ya se había visto en Brunete y Belchite, un éxito inicial de la República acababa en derrota estrepitosa. La República se había agotado prácticamente después de tres ofensivas que le habían comportado el dominio de un puñado de kilómetros cuadrados de terreno y ninguna ventaja ni logro importante. Este agotamiento fue crucial para Franco y su ejército pues en la primavera de 1938, cuando lanzó su ofensiva general sobre Aragón, su oponente se encontraba desorganizado, desarmado y lo que es más importante, desmoralizado.