I 1876 ble han kongressmann og snart talsmann for tollvern av amerikansk industri. McKinley-tollen av 1890 var meget omstridt, og den bidro sammen med endring av valgkretsene til at han tapte gjenvalg til Kongressen ved demokratenes valgskred samme år. McKinley var Ohios guvernør fra 1892 til 1896 og prøvde å balansere arbeidsgiver- og arbeidstagerinteresser. Med hjelp fra Mark Hanna ble McKinley nominert til republikansk presidentkandidat i 1896, midt i en dyp økonomisk depresjon. Han vant presidentvalget foran demokraten William Jennings Bryan på sitt løfte om å følge gullstandarden og øke innførselstollen.