Окончил ЛГИТМиК в 1996 г. (курс В. Фильштинского).
В 1995-1996 г.г. работал в Экспериментальном театре «Перекресток», а также ведущим на региональном телевидении в отделе музыкальных и информационных программ. В 1996 г. работал в московском театре «Сатирикон», где играл в спектаклях «Трехгрошовая опера» и «Сирано де Бержерак».
В том же году вернулся в Санкт-Петербург и вступил в труппу театра имени Ленсовета, где играл главные роли в спектаклях режиссёра Ю. Бутусова: Эстрагон в «В ожидании Годо» С. Беккета, Дурачок Карл в «Войцеке» Г. Бюхнера, Калигула в «Калигуле» А. Камю. Играл в спектаклях В. Пази: «Король, дама, валет» В. Набокова (Манекен, Официант, Санитар), «Братец Кролик на Диком Западе» Э. Гайдая (Братец Опоссум), «Поживем — увидим» Б. Шоу (Валентайн). В антрепризном спектакле «Смерть Тарелкина» по пьесе А. Сухово-Кобылина играл Варравина (реж. Ю. Бутусов).
В 2003 году был принят в труппу МХТ. Играл Алексея Турбина в «Белой гвардии» М. Булгакова (реж. С. Женовач, 2004), Клавдия в «Гамлете» В. Шекспира (реж. Ю. Бутусов, 2005). Мэкки в «Трёхгрошовой опере» Б. Брехта (реж. К. Серебренников, 2009). Играет Контрабасиста в «Контрабасе» П. Зюскинда (реж. Г. Черепанов, 2014).
В Театре п/р О. Табакова играл Тригорина в чеховской «Чайке» (реж. К. Богомолов, 2011).
В театре «Современник» играет главную роль в спектакле «Не покидай свою планету» по повести А. де Сент-Экзюпери «Маленький принц» (реж. В. Крамер, 2016).
В содружестве с Юрием Башметом и камерным ансамблем «Солисты Москвы» создал литературно-музыкальную программу на основе пьесы «Калигула» А. Камю и квартета «Смерть и Девушка» Ф. Шуберта и Г. Малера. Как чтец, вместе с солистами Мариинского театра и государственным симфоническим оркестром «Новая Россия», принимает участие в «Евгении Онегине» — авторской версии Ю. Башмета по мотивам романа А. С. Пушкина и оперы П. И. Чайковского.
В 2008 г. учредил собственный благотворительный фонд, который занимается организацией помощи детям с онкологическими и другими тяжёлыми заболеваниями головного мозга. В 2010 году начал реализацию проекта «Студии творческого развития благотворительного фонда Константина Хабенского»: в Екатеринбурге, Казани, Перми, Уфе, Нижнем Тагиле, Санкт-Петербурге, Новосибирске и Воронеже на базе общеобразовательных школ были открыты детские творческие студии. Продолжением этого проекта стал фестиваль «Оперение» и благотворительный театральный проект «Поколение Маугли» (в 2014 году проект был удостоен Премии Станиславского).
В 2019 году удостоен Государственной премии РФ за выдающиеся достижения в области благотворительной деятельности.
Лауреат театральных премий: независимой актёрской премии имени В. И. Стржельчика за актёрский ансамбль в спектакле «В ожидании Годо» (1999 г.); театральной премии «Чайка» (роль Клавдия в спектакле МХТ «Гамлет», номинация «Лучший исполнитель отрицательной роли», 2005 г.); международной премии имени К. С. Станиславского (за театральные работы в спектаклях МХТ «Утиная охота», «Белая гвардия», «Гамлет»; 2007 г.); премии Олега Табакова — «За остросовременную, талантливую, интерпретацию шекспировского Клавдия в спектакле МХТ „Гамлет“» (2006) и «За победу над стереотипами и придание образу Тригорина живого человеческого чувства» («Чайка», Театр п/р О. Табакова, 2012); театральной премии газеты «Московский комсомолец» за исполнение главной роли в спектакле МХТ «Контрабас» (2014).
Лауреат кинематографических премий и фестивалей: премии Гатчинского кинофестиваля «Литература и кино» в номинации «Лучшая мужская роль» (роль Андрея в фильме «Женская собственность», 2000 г.); фестиваля «Виват кино России!» (приз «Лучшая мужская роль» за роль Саши Гурьева в фильме «В движении», 2003 г.; спецприз жюри «Лучшая роль года» за роль Виктора Служкина в фильме «Географ глобус пропил», 2014 г.); премии российской кинопрессы «Золотой овен» (за роль Эдика в фильме «Бедные родственники», 2006 г.); кинопремии «Золотой орёл» (роль Грина в фильме «Статский советник», номинация «Лучшая роль второго плана», 2006 г.; роль Александра Колчака в фильме «Адмиралъ», номинация «Лучшая мужская роль», 2008 г.; роль Виктора Служкина в фильме «Географ глобус пропил», номинация «Лучшая мужская роль», 2014 г.); обладатель приза фестиваля «Кинотавр» за лучшую мужскую роль (роль Эдика в фильме «Бедные родственники», 2005 г.; роль Виктора Служкина в фильме «Географ глобус пропил», 2013 г.; роль Артура в фильме «Коллектор», 2016 г.); кинопремии «Ника» (роль Виктора Служкина в фильме «Географ глобус пропил», номинация «Лучшая мужская роль», 2014 г.); премии Ассоциации продюсеров кино и телевидения в номинации «Лучший актёр года» (роль Родиона Меглина в телесериале «Метод», 2016); телевизионной премии ТЭФИ (роль Родиона Меглина в телесериале «Метод», номинация «Лучший актёр телевизионного фильма/сериала», 2016 г.).