Родился в Тахлеква, штат Оклахома, вырос в Монтане. Имеет двух младших сестёр. Среди его предков есть представители народностей лакота, не-персе, чероки, маскоги, а также французы и голландцы. В 1994 году окончил среднюю школу Клируотер-Вэлли, где носил имя Джеймс Спенсер. Подростком начал участвовать в постановках Льюистонского гражданского театра. В течение года учился в Государственном колледже Льюиса-Кларка и подумывал о карьере фотографа. В итоге бросил обучение чтобы начать профессиональную актерскую карьеру.
Спенсер перебивался случайными заработками, попутно обучаясь актёрскому мастерству у Дэвида Гидеона и Эда Ковенса. В 2002 году получил роль в кинокартине «Краснокожие», после этого поучаствовал в съёмках телефильма «Властелина легенд» и мини-сериала «На Запад».
В подростковом возрасте Спенсер боролся со злоупотреблением психотропными веществами и алкоголизмом. Он продолжал много пить во время учебы в колледже. Позже у него развилась зависимость от кокаина и героина, из-за которых он попал в реабилитационный центр. Из-за малого количества предложения он подумывал завязать с актёрской деятельностью, однако переломным моментом в его карьере стало участие в фильме «Новолуние», продолжении «Сумерек».
В 2009 году Спенсер сыграл оборотня Сэма Улей в фильме «Новолуние» по одноимённому роману Стефани Майер. Он вернулся к этой роли в следующих частях франшизы — «Затмение», «Рассвет — часть 1» и «Рассвет — часть 2».
В 2015 году Спенсер получил постоянную роль помощника шерифа Билли Рэйвена в телесериале «Банши», после того как поучаствовал в съёмках его приквела — «Банши: Происхождение» (2014).
В 2021 году вошёл в актёрский состав мини-сериала «Англичанка», где сыграл одну из главных ролей в дуэте с Эмили Блант.