Mimo że 9 marca Kongres uchwalił wydatek 50 milionów dolarów na przygotowanie do wojny, to niecałe trzy tygodnie później poseł amerykański w Madrycie miał się dowiedzieć, czy Hiszpania jest gotowa podpisać rozejm. Hiszpanie zgodzili się pójść na ustępstwa, ale incydent z „Maine” sprawił, że 11 kwietnia prezydent wystosował orędzie wojenne do Kongresu. Osiem dni później Kongres przyjął rezolucję wypowiadającą wojnę Hiszpanii, która została podpisana przez McKinleya 20 kwietnia 1898. Dwa dni później Stany Zjednoczone wysłały okręty, aby dokonały blokady wyspy, na co Hiszpania odpowiedziała ogłoszeniem stanu wojny 23 kwietnia. Flota amerykańska odniosła zwycięstwa w maju w Zatoce Manilskiej i w czerwcu w pobliżu Santiago, a 13 sierpnia zajęła Manilę. Ze względu na dominację morską USA, 1 października 1898 w Paryżu rozpoczęły się rozmowy pokojowe, gdzie Stany Zjednoczone reprezentowała pięcioosobowa komisja. Strona hiszpańska chciała, by USA zaanektowały Kubę, ponieważ w ten sposób przejęłyby jej dług w wysokości 400 milionów dolarów. Amerykanie opowiadali się za niepodległością Kuby, jednak głównym celem McKinleya były Filipiny, a zwłaszcza wyspa Luzon. Podczas negocjacji prezydent zaproponował 20 milionów dolarów odstępnego za Filipiny.