Gustaf Horn era el menor de los hijos del mariscal de campo Carl Henriksson Horn y de Agneta von Dellwig. Su padre fue encarcelado en el castillo de Örbyhus tras la derrota contra los rusos.
Tomó parte como coronel en el sitio de Riga de 1621, donde fue gravemente herido. Él fue quien dirigió la conquista de Tartu en Livonia. Junto al barón Johan de La Gardie dirigió la defensa de Livonia contra Polonia en los últimos años de la década de 1620. A la edad de 35 años fue elevado al grado de mariscal de campo por el rey Gustavo Adolfo.
Cuando el rey decidió intervenir en la guerra que había estallado en Alemania (véase fase sueca de la Guerra de los Treinta Años), Horn se convirtió en su hombre más cercano. En la batalla de Breitenfeld de 1631, dirigió el ala izquierda del ejército sueco contra las tropas sajonas, a las cuales hizo huir, para después unirse al contingente central, dirigido por el rey Gustavo Adolfo, para hacer frente a las tropas de Tilly.
Posteriormente Horn dirigió sus tropas a la Franconia Superior (conquistando entre otras Mergentheim, sede de la Orden Teutónica, y el obispado de Bamberg), junto al rey. Horn fue enviado después a dirigir las tropas en Renania, donde ocupó Coblenza y Tréveris, para después continuar hasta Suabia.
Después de la muerte del rey Gustavo Adolfo (1632), tanto Horn como Johan Banér fueron los encargados de dirigir el ejército sueco en Alemania, mientras que su cuñado, Axel Oxenstierna, tomó el mando del gobierno civil.
Cuando Horn intentó combinar sus tropas con las de Bernardo de Sajonia-Weimar, toda la operación falló, y ambos siguieron direcciones distintas.
Después de la muerte de Wallenstein en 1634, Horn conquistó algunas zonas de Suabia. A pesar de todo, fue derrotado y hecho prisionero en la Batalla de Nördlingen, siendo liberado solo en 1642 en un doble intercambio de prisioneros con los imperiales. Horn fue nombrado entonces vicepresidente del departamento de guerra.
En 1651 fue nombrado conde de Pori, siéndole entregado el castillo de Marienborg. En estos años, Horn sirvió además como gobernador general de Livonia y como presidente del departamento de guerra.
Al estallar la guerra contra Polonia en 1655, fue el encargado de defender Suecia de los ataques polacos.
Gustav Horn fue uno de los comandantes más hábiles del rey Gustavo Adolfo y también un capaz administrador.