Efetuada
a ocupação de Humaitá, Caxias concentrou as forças aliadas,
em 30 de setembro, na região de Palmas, fronteiriça às novas
fortificações inimigas. Situadas ao longo do arroio Piquissiri,
essas fortificações barravam o caminho para Assunção,
apoiadas nos dois fortes de Ita-Ibaté (Lomas Valentinas) e
Angostura, este à margem esquerda do rio Paraguai. O comandante
brasileiro idealizou, então, a mais brilhante e ousada
operação do conflito: a manobra do Piquissiri.
Em 23 dias fez construir uma estrada de 11km através do Chaco
pantanoso que se estendia pela margem direita do rio Paraguai,
enquanto forças brasileiras e argentinas encarregavam-se de
diversões frente à linha do Piquissiri. Executou-se então a
manobra: três corpos do Exército brasileiro, com 23.000 homens,
foram transportados pela esquadra imperial de Humaitá para a
margem direita do rio, percorreram a estrada do Chaco,
reembarcaram em frente ao porto de Villeta, e desceram em terra
no porto de Santo Antônio e Ipané, novamente na margem
esquerda, vinte quilômetros à retaguarda das linhas paraguaias
do Piquissiri. López foi inteiramente surpreendido por esse
movimento, tamanha era sua confiança na impossibilidade de
grandes contingentes atravessarem o Chaco.
Na noite de 5 de dezembro, as tropas brasileiras encontravam-se
em terra e iniciaram no dia seguinte o movimento para o sul,
conhecido como a "dezembrada". No mesmo dia, o general
Bernardino Caballero tentou barrar-lhes a passagem na ponte sobre
o arroio Itororó. Vencida a batalha, o Exército brasileiro
prosseguiu na marcha e aniquilou na localidade de Avaí, em 11 de
dezembro, as duas divisões de Caballero. Em 21 de dezembro,
tendo recebido o necessário abastecimento por Villeta, os
brasileiros atacaram o Piquissiri pela retaguarda e, após seis
dias de combates contínuos, conquistaram a posição de Lomas
Valentinas, com o que obrigou a guarnição de Angostura a
render-se em 30 de dezembro. López, acompanhado apenas de alguns
contingentes, fugiu para o norte, na direção da cordilheira. Em
1º de janeiro de 1869 os aliados ocuparam Assunção.
López, prosseguindo na resistência, refez um pequeno exército
de 12.000 homens e 36 canhões na região montanhosa de
Ascurra-Caacupê-Peribebuí, aldeia que transformou em sua
capital. Caxias, por motivo de saúde, regressou ao Brasil. Em
abril de 1869, assumiu o comando geral das operações, o
marechal-de-exército Gastão d'Órléans, conde d'Eu, genro do
imperador, que empreendeu a chamada campanha das cordilheiras. O
Exército brasileiro flanqueou as posições inimigas de Ascurra
e venceu as batalhas de Peribebuí (12 de agosto) e Campo Grande
ou Nhu-Guaçu (16 de agosto). López abandonou Ascurra e, seguido
por menos de trezentos homens, embrenhou-se nas matas, marchando
sempre para o norte, até ser alcançado pelas tropas brasileiras
em Cerro-Corá, à margem do arroio Aquidabanigui, onde foi morto
após recusar-se à rendição, em 1º de março de 1870. Em 20
de junho de 1870, Brasil e Paraguai assinaram um acordo
preliminar de paz.
As baixas da nação paraguaia foram estimadas em cerca de
300.000, incluídos os civis mortos pela fome e em conseqüência
da cólera. O Brasil, que chegou a mobilizar 180.000 homens
durante a luta, teve cerca de trinta mil baixas. O tratado
definitivo de paz entre Brasil e Paraguai, assinado somente em 9
de janeiro de 1872, consagrava a liberdade de navegação no rio
Paraguai e as fronteiras reivindicadas pelo Brasil antes da
guerra. Em 1943, o Brasil perdoou a dívida de guerra paraguaia,
estipulada por esse tratado.