He was the son of baroness Margareta Grip av Vinäs and Herman Wrangel and was paternally descended from a family of Baltic German origin, branches of which settled in Sweden, Russia and Germany. Carl Gustaf was born near Uppsala and at the age of twenty distinguished himself as a cavalry captain in the war against the Army of the League. Three years later he was colonel, and in 1638 major-general, still serving in Germany. In 1644 he commanded a fleet at sea, which defeated the Danes at Fehmarn on October 23.
In 1646 he returned to Germany as a Field Marshal and succeeded Lennart Torstenson as commander-in-chief of the Swedish army in Germany, which post he held during the last three campaigns of the Thirty Years' War. Under Wrangel and Turenne the allied Swedish and French armies marched and fought in Bavaria and Württemberg. Queen Christina created him count of Salmi and Suistamo pogosta, in Käkisalmi province in northern Karelia, Eastern Finland; and afterwards augmented his lands with barony of Lindeberg in Halland. At the outbreak of the Northern Wars in 1655 Wrangel commanded a fleet, but in 1656 he was serving on land again and commanding, along with the Great Elector of Brandenburg, in the three days Battle of Warsaw (1656). In 1657 he invaded Jutland and in 1658 passed over the ice into the islands and took Kronborg. 1666 he entered Northern Germany to win the city of Bremen for the Swedish crown. But he was not successful: On November, 15th, 1666 he was forced to make peace, and concluded the "Peace of Habenhausen".
In 1657 he was appointed Lord High Admiral and in 1664 Lord High Constable of the realm, and as such he was a member of the Privy Council during the minority of Charles XI of Sweden. But his last campaign was unfortunate. Commanding, ineffectively owing to his broken health, in the war against Brandenburg, he was recalled after his stepbrother Baron Waldemar Wrangel (1647-1676), had been defeated at Fehrbellin. He died on Rügen, in Swedish Pomerania shortly afterwards, on July 5, 1676.