John Hanning Speke (Bideford, 4 mei 1827 – Corsham, 15 september 1864) was een officier in de British Indian Army. Hij maakte drie ontdekkingsreizen in Afrika.
In 1854 maakte hij zijn eerste reis. Hij vergezelde toen de bekende Richard Francis Burton bij een expeditie naar Somalië.
In 1856 werd aan Burton gevraagd een reis te maken naar Oost-Afrika om de bron van de Nijl te vinden. Opnieuw koos hij Speke om met hem mee te gaan. Beide mannen reisden naar het binnenland van Oost-Afrika. Daar ontdekten ze het Tanganyikameer. Ze hoorden er ook verhalen van een tweede meer in de buurt, maar Burton was te ziek om te reis voort te zetten dus ging Speke alleen verder. Hij vond het meer en gaf het de naam Victoriameer.
Speke keerde eerder dan Burton terug in Engeland en maakte hun reis bekend. Maar er ontstond een meningsverschil tussen hen aangezien Speke meende dat het Victoriameer de bron was van de Nijl, terwijl Burton dacht dat dit het Tanganyikameer was. Speke werd gekozen als leider van een nieuwe expeditie die dit probleem moest oplossen.
Samen met James Augustus Grant vertrok Speke naar Zanzibar en vandaar in oktober 1860 naar het Victoriameer. Ze reisden langs de westelijke oever van het meer, zonder er veel van te kunnen zien, maar aan de noordelijke kant van het meer vond Speke de Nijl.
Spekes reis loste het probleem echter niet op. Burton meende dat het niet honderd procent zeker was dat de door Speke gevonden rivier de Nijl was, aangezien Speke de rivier niet helemaal had gevolgd. Er werd een debat gepland op 18 september 1864 om het probleem verder uit te praten. Enkele dagen voor het debat overleed Speke echter op 37-jarige leeftijd aan de gevolgen van een jachtongeluk.