Рос в Стегенборгском замке, куда часто наведывалась будущая королева Кристина, приходившаяся ему кузиной. Он получил хорошее образование, владел немецким, французским и латинским языками. Некоторое время учился в Упсальском университете. В 1638 году предпринял учебную поездку за границу, из которой вернулся осенью 1640 года.
В 1642 году Карл Густав прибыл к шведской армии в Германию, которой командовал Леннарт Торстенссон, и сразу же неплохо проявил себя в битве при Брейтенфельде. Через год был произведён в поручики.
Однако к концу 1643 года он уже полковник Курляндского кавалерийского полка. В 1645 году участвовал в сражении при Янкове. 17 февраля 1647 года по настоянию королевы Кристины назначен главнокомандующим шведской армией в Германии.
Весной 1649 года Карл Густав был провозглашён престолонаследником. 6 июня 1654 года королева Кристина отреклась от престола, и в тот же день Карл Густав был коронован в качестве нового короля.
Его первой задачей стало улучшение государственных финансов, подорванных предыдущим правлением. В связи с этим он провёл так называемую четвертную редукцию, по которой дворянство должно было вернуть казне четверть всех дарений, полученных им после смерти Густава II Адольфа.
В 1655 году, стремясь к установлению на Балтике шведского господства, король начал войну с Польшей. Война развивалась с переменным успехом, к тому же ситуация осложнилась со вступлением в неё летом 1656 года России. В первой половине 1657 года шведы были вынуждены отчистить Польшу от своих войск и сосредоточиться в её северной части. Летом они столкнулись с целой коалицией держав — Польши, Австрии, Бранденбурга и Дании.
В 1658 году королю удалось заключить перемирие с Россией. Тем не менее, оказавшись перед лицом многочисленных противников, Карл Густав решил отказаться от планов раздела Польши и через Шлезвиг-Гольштейн напасть на Данию. Воспользовавшись тем, что Бельты замёрзли, шведские войска во главе с королём по льду перешли проливы, заняли о. Фюн и появились в Зеландии. Датчане запросили мира, который был подписан в начале 1658 года в Роскилле. Швеция получила Сконе, Блекинге, Халланд, о. Борнхольм и норвежскую область Тронхейм.
Однако мир длился недолго. Дания была недовольна слишком суровыми условиями мира, а Карл Густав посчитал, что упустил возможность окончательно разгромить старого соперника. Осенью 1658 года он, нарушив мир, напал на Данию и осадил Копенгаген. Жители датской столицы все как один встали на защиту города, а 29 октября 1658 года пришедший на помощь датчанам голландский флот нанёс в Эресунне поражение шведскому. Осаду шведам пришлось снять.
В 1659-60 годах шведы и датчане активных боевых действий не вели, а через англо-французских посредников выясняли условия мирного соглашения. По Копенгагенскому миру 1660 г. Швеция была вынуждена вернуть Дании Борнхольм и Тронхейм. Согласно же условиям Оливского мирного договора, заключённого в этом же году, границы между Польшей и Швецией оставались прежними, однако польская ветвь династии Васа отказывалась от своих притязаний на шведскую корону и признавала шведское владычество над Лифляндией и Эстляндией.
11 января 1660 года, присутствуя в Гётеборге на похоронах члена риксрода Кристера Бунде, король простудился. Доктора констатировали, что у него воспаление лёгких, однако он продолжал работать. Тем временем его здоровье всё ухудшалось. 10 февраля он исповедался и получил отпущение грехов. В ночь с 12 на 13 февраля 1660 года Карл X Густав умер.
С 1654 г. был женат на Хедвиге Элеоноре Гольштейн-Готторпской. Брак был заключён по политическим причинам. От этого союза родился лишь один ребёнок — будущий король Карл XI.
В Мальмё, центре лена Сконе, есть памятник — конная статуя Карла X Густава, отвоевавшего провинцию у датчан. Местные жители рассказывают, что якобы при установке памятника встал вопрос, в какую сторону он должен стоять лицом. Если король будет обращён к Дании, то это было бы слишком воинственно, а лицом к Швеции — нелогично, поэтому памятник поставили боком к обеим странам.