Эрих Топп родился в семье инженера Иоханнеса Топп. 8 апреля 1934 года он вступил в рейхсмарине и 1 апреля 1937 года был произведён в лейтенанты цур зее. С 18 апреля по 4 октября 1937 года он был адъютантом на борту лёгкого крейсера «Карлсруэ», который в июне 1937 года, во время испанской гражданской войны, патрулировал перед испанским берегом.
Ещё до начала Второй мировой войны Карл Дёниц убедил молодого офицера вступить в подводные силы кригсмарине. В июне 1940 года он получил команду над подводной лодкой U-57 типа IIC, на которой он в двух походах потопил шесть судов. При возвращении из боевого похода под Брунсбюттелем случилась авария. Норвежский сухогруз «Rona» врезался в освещённую в ночное время подводную лодку и она затонула в течение нескольких секунд. Шесть моряков погибло.
В декабре 1940 года Топп был назначен командиром подводной лодки U-552, принадлежащей к типу VIIC. На ней он совершил десять походов, в которых он потопил 28 торговых судов и ещё четыре повредил. 31 октября 1941 года его лодка потопила американский эсминец USS Reuben James, ставший первым потопленным американским кораблём во Второй мировой войне. В октябре 1942 Топп стал начальником 27-й подводной флотилии в Готенхафене. До конца войны он был командиром U-2513, «электролодки» класса XXI.
Всего Эрих Топп потопил 34 судна (около 200 000 брт), один эсминец и одно военное вспомогательное судно. Таким образом, он стал третьим по результативности подводником Второй мировой войны, уступив только Отто Кречмеру и Вольфгангу Люту.
С 20 мая по 17 августа 1945 года Топп был военнопленным в Норвегии. 4 июня 1946 года он начал обучаться архитектуре в Техническом университете Ганновера и закончил его в 1950 году, получив диплом с отличием.
3 марта 1958 года он вновь вступил в военно-морские силы Германии. С 16 августа 1958 года Топп служил офицером штаба в военном комитете НАТО в Вашингтоне. 1 ноября 1959 года его произвели в капитаны цур зее и с 1 января 1962 он служил командующим десантных сил и одновременно в течение одного месяца и. о. командующего подводных лодок. 1 октября 1963 года он был назначен начальником штаба в командовании флотом, с 1 июля 1965 года служил начальником подотдела в министерстве обороны ФРГ. После получения звания флотилленадмирала 15 ноября 1965 года он стал заместителем инспектора ВМС. 21 декабря 1966 года был произведён в контрадмиралы. За его заслуги в восстановлении военно-морских сил и их интеграции в структуры НАТО он 19 сентября 1969 года был награждён крестом За заслуги перед Федеративной Республикой Германия. 31 декабря 1969 года ушёл на пенсию. После ухода из Бундесмарине Топп несколько лет работал консультантом, в том числе на верфи «Howaldtswerke-Deutsche Werft». Эрих Топп умер 26 декабря 2005 года в возрасте 91 года.