Андрей Кареев родился 19 ноября 1994 года в городе Новокузнецк, Кемеровская область. Является воспитанником Детско-Юношеской Спортивной Школы новокузнецкого хоккея. С 2003 по 2011 год выступал в юниорских турнирах за московский хоккейный клуб «Спартак».
Четырежды, в период с 2007 по 2010 год хоккеист в составе красно-белых принимал участие в финальных турнирах первенства России среди юношей. В матче против «Белых Медведей», состоявшемся 6 сентября 2012 года, Кареев впервые сыграл в Молодежной хоккейной лиге за «Кузнецких Медведей» и пропустил шайбу от Ильи Зиновьева.
В конце сентября 2012 года, Андрей Кареев, отразив 23 броска соперника, отыграл свой первый в МХЛ матч «на ноль». В начале марта 2013 года, в матче против хоккейного клуба «Октан», голкипер отдал голевую передачу Константину Шабунову. Всего за 2 сезона, проведенных в МХЛ вратарь, с учетом плей-офф, сыграл 61 матч, пропустил 136 шайб и в 4-х играх сумел оставит свои ворота «нераспечатанными».
В конце октября 2013 года, Кареев впервые вышел на лед в матче Высшей хоккейной лиги в составе хоккейного клуба «Ариады». На 56-й минуте встречи против «Кубани» молодой голкипер сменил на площадке Юрия Лаврецкого и в оставшееся время голов не пропустил.
В сентябре 2014 года, в составе хоккейного клуба КХЛ «Металлург» города Новокузнецк, в матче против хоккейного клуба «Сибирь» Новосибирск, Андрей Кареев дебютировал в Континентальной хоккейной лиге. Голкипер вышел на игру в стартовом составе и, пропустив 3 шайбы в первом периоде, уступил место в воротах Илье Сорокину.
В декабре 2016 года, Кареев перешел в нижнекамский Нефтехимик в обмен на Рафаэля Хакимова и денежную компенсацию. На начало сезона 2017 - 2018 года, является голкипером хоккейного клуба Континентальной Хоккейной Лиги «Салават Юлаев» города Уфа. Также является одним из вратарей сборной России.