Roi d'une tribu germanique les Hérules, il est un ancien dignitaire de la cour d'Attila. Entré au service des Romains, il a porté au pouvoir le patrice Oreste et mis sur le trône le fils de ce dernier : Romulus Augustule. Les revendications de la garde germanique n'ayant pas été satisfaites, Odoacre tue Oreste à Pavie et chasse Romulus Augustule.
L'Empereur d'Orient (Zenon ) lui octroie le titre de patricien. En 480, un accord intervient entre Odoacre et Zénon au terme duquel, Odoacre prend le prénom de Flavius.
Pourtant, quelques années après, en 488, Zénon détourne vers l'Italie l'encombrant ostrogoth Théodoric et son peuple (alliés quelque peu agités). Celui-ci défait Odoacre puis l'assiège trois ans dans Ravenne. Simulant une conciliation, il le fait assassiner lors d'un banquet, alors qu'Odoacre venait de signer sa reddition (493).