He was High Councillor of the realm in 1625, elevated to rank of field marshal in 1628, and sometimes commander-in-chief of Swedish forces in Germany during Thirty Years' War. He was instrumental in securing victory at the Battle of Breitenfeld in 1631. After the war, he served as Governor-General of Livonia 1652, President of War department and Lord High Constable in 1653. In 1651, Queen Christina created him Count of Pori.
He married Kristina Oxenstierna (1609–1631), daughter of Count Axel Oxenstierna.
Gustav Horn commanded the cavalry on the Swedish left flank at the Battle of Breitenfeld. When his Saxon allies retreated, King Gustavus Adolphus ordered Horn to pivot his forces to the left, and hold his right to the center.
Over the next several years, Horn and Bernard of Saxe-Weimar engaged in a series of maneuvers and counter-manuevers, but never actually fought one another. Horn did not want to risk his army, and actively tried to avoid confronting Bernard.
During the United States of Europe's period of unrest in early 1636, Horn kept his forces in place, citing the need to keep an eye on Bernard. Another possible, though not publicly admitted, reason is that he detested his former father-in-law.