Джон Флэнаган родился 9 января 1873 года в Ирландии и позже эмигрировал в США. Он стал служить полицейским и занялся метанием молота. Он семь раз выигрывал чемпионат США и в 1900 году на Олимпиаде в Париже стал первым олимпийским чемпионом в этой дисциплине. Также, он стал седьмым в метании диска.
На следующих Играх, которые прошли в Сент-Луисе, Флэнаган защитил свой титул чемпиона, а также выиграл серебряную медаль в метании веса в 56 фунтов и занял четвёртую позицию в метании диска. На летних Олимпийских играх 1908 в Лондоне Флэнаган стал единственным трёхкратным чемпионом в своей любимой дисциплине. Помимо этого, он стал девятым в метании диска и вместе со своей командой остановился на четвертьфинале турнира по перетягиванию каната.
После завершения спортивной карьеры, Флэнаган вернулся в Ирландию и прожил там до своей смерти 3 июня 1938 года.