Uczestniczył w mistrzostwach Europy w Portugalii (2004). W przegranym ćwierćfinałowym meczu z reprezentacją Portugalii zdobył gola w serii rzutów karnych. Wziął także udział w mistrzostwach świata w 2006 i 2010 roku (odpowiednio w Niemczech i Południowej Afryce). Podczas turnieju w Niemczech (2006) zagrał w pięciu meczach, został również wybrany do „drużyny gwiazd”. Cztery lata później w Republice Południowej Afryki wystąpił w czterech spotkaniach.
10 sierpnia 2006 roku został wybrany kapitanem reprezentacji Anglii, zastępując na tym stanowisku Davida Beckhama. 5 lutego 2010, w związku z problemami w życiu prywatnym, trener Fabio Capello pozbawił go kapitańskiej opaski na rzecz Rio Ferdinanda. 19 marca 2011 roku włoski trener ogłosił, że John Terry ponownie będzie kapitanem drużyny narodowej.
W maju 2012 roku nowy selekcjoner, Roy Hodgson, pozbawił go kapitańskiej opaski. Następnie John Terry uczestniczył w mistrzostwach Europy w Polsce i na Ukrainie – w turnieju tym wystąpił w trzech meczach grupowych i przegranym po serii rzutów karnych spotkaniu ćwierćfinałowym z reprezentacją Włoch (0:0, k. 2:4).
23 września 2012 roku ogłosił zakończenie kariery reprezentacyjnej.