Després del fracàs nacional a l’hora de prendre Madrid, el conflicte va derivar en una guerra de posicions en la que es lluitarà pel control del nord del país. Des de l’estiu de 1937, tot i que la resistència republicana s’allargaria encara fins els primers mesos de 1939, la victòria s’aniria decantant progressivament a favor dels exèrcits de Franco.
Des del mes de març, els franquistes van portar a terme una ofensiva general al nord del país, campanya que feia perillar la ciutat de Bilbao. En aquells moments, una estreta franja integrada per Astúries, Cantàbria i Biscaia restava en mans de la República, però era un territori aïllat de la resta de dominis republicans. Els nacionals controlaven Navarra, Àlaba i Sant Sebastià, però el gruix del territori basc –fonamental pels seus recursos miners, siderúrgics i industrials–, romania en mans de la República.
D’aquesta manera, els insurrectes, sota el comandament del general Mola, van iniciar l’atac sobre Biscaia a les darreries del mes de març. En aquest context, el 26 d’abril de 1937, la ciutat basca de Gernika va ser bombardejada per la Legió Còndor alemanya per ordres del quarter general de Franco. Es produïa així el primer bombardeig aeri de la història que tenia com a únic objectiu terroritzar la població civil ja que Gernika era un objectiu sense cap rellevància ni militar ni estratègica. Tanmateix, la superioritat franquista en armament i aviació feia innecessari aquest atac. A més, l’escalada destructiva que va suposar el bombardeig de Gernika va suposar un fort descrèdit per a Franco de cara a l’opinió pública internacional, sense majors conseqüències que la condemna formal dels fets.
Amb l’objectiu de desviar l’atac nacional cap a d’altres fronts, el govern de la República va concentrar nombrosos efectius militars per organitzar una ofensiva contra Osca (juny de 1937) que acabaria en un nou fracàs militar ja que els franquistes van poder defensar-se amb relativa facilitat dels intents republicans per encerclar la ciutat. Posteriorment, el juliol, la República va emprendre l’atac de Brunete, a prop de Madrid. Una nova ofensiva republicana, aquest cop sobre la ciutat de Saragossa (agost de 1937), va acabar en un nou fracàs a la Batalla de Belchite causa de l’arribada d’unitats nacionals procedents del front de Madrid i a la superioritat aèria franquista.
Així, tot i les maniobres de distracció republicanes, Franco va poder acabar amb l’ocupació del nord peninsular: un cop superat el “Cinturón del Hierro”, Bilbao va caure el 19 de juny, a l’agost va prendre Santander i, finalment, Astúries va ser ocupada l’octubre. El nord ja estava controlat pels nacionals, i amb el territori els seus recursos econòmics. En paral·lel, milers de persones iniciaven un desplaçament massiu de població cap als territoris republicans fugint dels exèrcits franquistes que ocupaven el territori. Mola ja no va arribar a veure la conquesta del nord perquè el seu avió s’havia estavellat, perdent la vida, a Burgos el 3 de juny, deixant a Franco com a únic líder del bàndol nacional.
Arribats a finals de 1937, els resultats de la guerra eren clarament favorables als insurrectes. Però, tot i l’evident superioritat franquista, els comandaments militars de la República encara confiaven en la possibilitat, cada cop més llunyana, de capgirar la situació i guanyar la guerra. Amb aquest objectiu van iniciar-se una sèrie de reformes en l’exèrcit republicà: van dotar l’exèrcit de comandaments professionals, van integrar-s’hi els quadres procedents de les milícies i de les Brigades Internacionals i van posar-hi al capdavant al general Vicente Rojo, el prestigiós defensor de Madrid.
En aquesta situació, la República va emprendre una forta acció sobre Terol, campanya que responia a l’intent d’aturar l’ofensiva franquista al front de Guadalajara. La Batalla de Terol va desenvolupar-se entre desembre de 1937 i gener de 1938 i, en una primera fase, va culminar amb la conquesta republicana de la ciutat, fet que va deixar l’exèrcit de la República exhaust després de la batalla. Franco va aprofitar el desgast republicà per, en resposta, portar a terme un atac general al llarg de tot el front d’Aragó, de d’Osca fins a Terol. Així, el febrer de 1939, Franco va recuperar Terol.
En aquest període, la ciutat de Barcelona va ser durament castigada pels bombardejos. Per exemple, el 29 de maig de 1937 van morir 70 persones en un únic atac, i a l’octubre van produir-se quatre bombardejos més. El març de 1938 es reproduirien els bombardejos amb tretze atacs aeris que suposarien uns mil morts. En el conjunt de la guerra, Catalunya va patir prop de 5.000 morts a causa dels bombardejos (la meitat de les víctimes a Barcelona) i més de 2.000 edificis van ser destruïts.