Родился 21 января 1919 года в с. Дубовичи (Сумская область). Украинец. В армии с 1939 года, на фронте с сентября 1941 года. Участник обороны Сталинграда в составе 10-й стрелковой дивизии войск НКВД. Командир орудия 168-го отдельного истребительно-противотанкового дивизиона (1-й Украинский фронт) старшина Горбач в районе г. Сулеюв (Польша) при отражении внезапной контратаки врага 21 января 1945 года уничтожил несколько десятков гитлеровцев. Затем в боях за удержание и расширение плацдарма на левом берегу Одера его расчет уничтожил 9 огневых точек противника. После войны возвратился в родное село. Работал в колхозе. Награжден орденами Ленина, Отечественной войны 1-й степени, Славы 3-й степени, двумя орденами Отечественной войны 2-й степени, Красной Звезды, медалями. Умер 8 марта 1987 года.
Звание Героя Советского Союза присвоено 27 июня 1945 года.