Свій шлях у великий футбол Йоганн Хорват розпочав у невеликому віденському клубі «Сіммерингер». З дев'ятнадцяти років — гравець основного складу. В сезоні 1923/24 Йоганн забиває за команду 12 голів і отримує запрошення до збірної Австрії. В чемпіонаті 1926 року його команда посідає 3-є місце, найкраще місце в своїй історії. Через рік переходить до складу одного з грандів австрійського футболу — «Рапіда».
Сезон 1927/28 «зелено-білі» розпочали з ігор в новострореному кубкові Мітропи. В першому ж матчі, проти сплітського «Хайдук», забиває перший м'яч за нову команду. Забиває він і наступному супернику, чешській«Славії». Бере участь в обох фінальних поєдинках проти празької«Спарти». В чемпіонаті команда займає друге місце, а Йоганн забиває 16 голів, найбільшу кількість у своїй кар'єрі. В наступному році «Рапід» доходить до фіналу обох кубкових турнірів. У Австрії сильнішою виявилася «Адміра», у Європі — «Ференцварош» із Будапешта. У кубку Мітропи стає найрезультативнішим гравцем команди (6 голів). В чемпіонаті 1929 року Й.Хорват здобуває свій перший трофей — чемпіона Австрії. В наступному сезоні «Рапід» знову найкращий клуб Австрії, але Йохан проводить у команді третину чемпіонату і переходить до іншого віденського клубу — «Ваккера», де грає впродовж трьох років.
Ще три сезони провів у ФК «Відень». По закінченні сезону 1934/35 повертається в свій перший клуб — «Сіммерингер», який за відсутність Хорвата понизився у класі. В «Сіммерингері» грає до 1940 року, допомагає команді підвищитись у класі та провести один сезон серед найсильніших. В 1941 році займає посаду граючого тренера команди другого дивізіону ПСВ («Поліцейське спортивне товариство», Відень).
У збірній Австрії
В головній команді країни дебютував 13 січня1924 року проти збірної Німеччини. Відразу став гравцем основного складу. В дев'яти матчах 1924 року забив вісім голів. 7 квітня1929 встановив новий рекорд результативності збірної Австрії — 19 забитих м'ячів. На чемпіонаті світу-34 Йохан Хорват і Антон Шалль по черзі грали на позиції лівого інсайда. Відкрив рахунок у матчі 1/4 фіналу проти збірної Угорщини. У матчі за 3-є місце забив свій останній, 29-й гол за збірну. Цей рекорд протримався 46 років. Тільки в 1980 році Гансу Кранклю вдалося перевершити це досягнення. На сьогодні більше голів за збірну вдалося провести і Антону Польстеру. Після чемпіонату світу Йоганн Хорват провів останній, 46-й матч за збірну (програш 1:3 Угорщині в Будапешті). Більше поєдинків на той час провів лише захисникЙозеф Блюм — 51 матч.