Pod koniec pierwszej kadencji, McKinley zapowiadał, że nie będzie się ubiegał o reelekcję[1]. Jednak zebrawszy się na konwencji w Filadelfii w czerwcu 1900 roku, delegaci Partii Republikańskiej w pierwszym głosowaniu jednomyślnie udzielili mu nominacji[1]. Początkowo McKinley planował zaproponować nominację wiceprezydenckąElihu Rootowi lub Williamowi Allisonowi[1]. Wobec obustronnej odmowy, urzędujący prezydent zgodził się kandydować z popularnym wówczas Theodore’em Rooseveltem[1]. Uchwalona w roku wyborczym ustawa o standardzie złota (Gold Standard Act) sprawiła, że w kraju panował wysoki poziom koniunktury[2]. Wynikiem tego, w czasie kampanii nie poruszano kwestii taryf celnych czy emisji srebrnych monet[3]. Partia Demokratyczna była podzielona na północno-wschodnie skrzydło konserwatystów oraz południowo-zachodnie skrzydło broniące interesów farmerów[2]. Mimo to ich kandydatem na prezydenta ponownie został William Bryan[4]. Jego kampania opierała się na atakowaniu obozu republikanów za imperializm (wojna amerykańsko-hiszpańska), jednak okazało się to nieskuteczne[1]. Kandydatem Partii Prohibicji został John Woolley, a Socjalistycznej Partii Ameryki – Eugene Debs[5]. Zanikająca Partia Populistyczna nie odegrała istotnej roli w wyborach[1].
Głosowanie powszechne odbyło się 6 listopada 1900[5]. McKinley uzyskał 51,7% poparcia, wobec 45,5% dla Bryana, 1,5% dla Johna Woolleya i 0,6% dla Eugene’a Debsa[5]. Ponadto, niespełna 100 000 głosów oddano na niezależnych elektorów, głosujących na innych kandydatów[5]. Frekwencja wyniosła 73,2%[6]. W głosowaniu Kolegium Elektorów McKinley uzyskał 292 głosów, przy wymaganej większości 224 głosów[7]. Na Bryana zagłosowało 155 elektorów[7]. W głosowaniu wiceprezydenckim zwyciężył Theodore Roosevelt, uzyskując 292 głosów, wobec 155 dla Adlaia Stevensona[7].