Воспитанник футбольной школы московского «Торпедо». Выступал за московские «Торпедо», «Динамо» и ЦСКА. В высшей лиге дебютировал 21 ноября 1984 года в гостевом матче против ростовского СКА в возрасте 16 лет и 97 дней. По состоянию на конец 2011 год Харин является самым юным вратарём в истории чемпионатов СССР и России. В декабре 1992 года перешёл в лондонский «Челси» за 400 000 фунтов стерлингов. В 1999 году по свободному трансферу перешёл в шотландский «Селтик». Травма не позволила ему выступать в «Селтике» на своём уровне, и, сыграв 11 матчей за три года, перешёл в любительский клуб «Хорнчёрч». По окончании карьеры стал тренером вратарей английского клуба «Лутон Таун».
Выступал за различные юношеские и молодёжные сборные СССР. Чемпион Европы среди юношеских команд (1985). В 1986—1988 годах провел 14 матчей за олимпийскую сборную СССР, в том числе участвовал в финальном турнире ОИ-88, где со сборной СССР стал победителем (сыграл 6 матчей). На взрослом уровне выступал за сборные — СССР (6 матчей), СНГ (9 матчей) и России (23 матча). Участник Чемпионата Европы 1992 (3 матча), Чемпионата Мира 1994 (2 матча), Чемпионата Европы 1996 (1 матч). Последний матч за сборную провёл 5 сентября 1998 года против сборной Украины.
Михаил Харин — младший брат, также футбольный вратарь.