Получил образование под присмотром астронома и астролога С. А. Форсиуса. В 1609—1612 годах совершил заграничную поездку, в ходе которой посещал занятия в Ростокском, Йенском и Тюбингенском университетах.
Впоследствии под командованием своего брата Эверта Горна принимал участие в шведской интервенции в Россию, однако в 1614 году уехал в Голландию, чтобы учиться военному делу у Морица Оранского. В 1618 году стал камергером Густава II Адольфа, который активно использовал его для различных дипломатических поручений, в том числе и для ведения переговоров о заключении брака c Марией Элеонорой Бранденбургской.
Получив в 1621 году чин полковника Норрландского полка, Горн участвовал в польско-шведской войне и при осаде Риги был тяжело ранен. В 1625—1628 годах вместе с Я.Делагарди успешно оборонял от поляков Лифляндию. В 1625 году назначен членом риксрода, а в 1628 году получил звание фельдмаршала. В этом же году ему было доверено командование всеми шведскими войсками, находившимися в Лифляндии.
Проявленные Горном знания военного дела способствовали тому, что со вступлением в 1630 году Швеции в Тридцатилетнюю войну король сделал его одним из своих самых приближённых людей. Он питал к Горну глубокое доверие и называл его своей правой рукой.
В сражении при Брейтенфельде (1631) Горн командовал левым флангом шведской армии. Во время похода Густава Адольфа в Южную Германию король оставил Горна с войском в 7 тыс. человек в Верхней Франконии. В начале 1632 года он под давлением войск Тили был вынужден оставить захваченное им Бамбергское епископство. Король поспешил ему на помощь, и они вместе вступили в Баварию. После того как Густав Адольф направился к Нюрнбергу, Горн принял командование оставленной в Баварии армией, однако вскоре был назначен командовать расположенными в долине Рейна войсками. Там ему удалось занять Кобленц и Трир, а также разбить войска императора возле Вислоха.
В августе 1634 года Горн вместе с герцогом Веймарским Бергардом потерпел поражение от императора в битве при Нёрдлингене и оказался в плену, в котором провёл семь лет. В 1642 году его обменяли на трёх генералов имперской армии. После возвращения в Швецию был назначен вице-президентом Военной коллегии (1643). Во время датско-шведской войны 1643—1645 годов Горн командовал шведской армией, которая должна была напасть на Сконе.
В 1651 году получил от королевы Кристины в качестве графства Бьёрнеборг в Финляндии, а в качестве баронства — Мариенбург в Лифляндии. В 1652 году исполнял обязанности генерал-губернатора Лифляндии, однако в 1653 году он получил должность риксмарска и оставил генерал-губернаторский пост, чтобы занять место президента Военной коллегии. С началом польско-шведской войны 1655—1660 годов Карл X Густав поручил Горну руководство обороной Швеции.
Был дважды женат: с 1628 года на баронессе Кристине Оксеншерне, с 1643 года на Сигрид Бельке.