През 1967 година завършва средно образование в 18-о СПУ "Кирил и Методий" (СОУ "Уилям Гладстон") - София. Бил е работник в Слаботоковия завод - София и аеролог в Института по хидрология и метеорология - София.
През 1974 г. се дипломира във Висшия икономиески институт “Карл Маркс” в София (днес Университет за национално и световно стопанство) със специалност политикономия, а през 1981 г. - в Софийския университет “Св.Климент Охридски” със специалност „Математическо моделиране на икономическите процеси“.
Защитава във Висшия икономически институт през 1983 дисертация на тема „Икономически растеж, структура и фактори в производствената сфера“ за научна степен “кандидат на икономическите науки”.
Асистент във Висшия икономически институт в периода 1974–1982 г. Във Висшия машинно-електротехнически институт „Владимир Ленин“ (преименуван през 1995 г. на Технически университет - София) постъпва през 1979 г. като старши асистент в Катедра „Политическа икономия“ на Центъра по идеологически дисциплини. Става главен асистент (1981г.) и доцент (1992 г.) в Катедра „Теория на пазарното стопанство“ на Стопанския факултет.
Във връзка с назначаването му за старши асистент за Костов са писани доноси, в които е обвинен, че отхвърля икономическите схващания на Тодор Живков. Костов много активно е разработван от Държавна сигурност за възгледите му за пазарната икономика, определени като антикомунистически.
Автор е на научни публикации и монографии. До 1989 г. работи като научен консултант на НИИ по прогнозиране на социално-икономическото развитие на България. Участва в разработването на прогнози за развитието на Националния стопански комплекс за нуждите на Държавната планова комисия и Министерския съвет.
След падането на комунизма Иван Костов е избран за народен представител в 7-то Велико Народно събрание през 1990 г. с листата на СДС. Председател е на икономическата комисия. В края на същата година става министър на финансите, като един от тримата представители на СДС (заедно с Димитър Луджев и Иван Пушкаров), в коалиционното правителство на Димитър Попов. Той остава на този пост и в правителството на СДС, начело с Филип Димитров.
След загубата на изборите през 1994 Филип Димитров подава оставка като лидер на СДС и Иван Костов заема мястото му.
През 1997 г., след сериозна икономическа криза, довела до хиперинфлация, правителството на БСП с министър-председател Жан Виденов пада от власт две години преди края на мандата си. На последвалите парламентарни избори Обединените демократични сили (ОДС) — коалиция, водена от Иван Костов, печели мнозинство в българския парламент, и той заема поста министър-председател на Република България.
По време на своето управление, Костов получава прозвището Командира. Политическите му противници считат управлението му за еднолично, докато неговите поддръжници одобряват категоричната му политическа позиция по спорни въпроси.
На проведените парламентарните избори в България през юни 2001 г. ОДС получава около 18% от гласовете. Победител е създаденото 2 месеца по-рано Национално движение “Симеон Втори” (НДСВ). Иван Костов подава оставка като председател на СДС.
След загубата на изборите, Костов в продължение на около 2 години се въздържа от медийни изяви и не се изказва от парламентарната трибуна. Най-често тиражираното обяснение за поведението му през периода е, че той е обиден на българските избиратели, задето не са подкрепили ОДС. Единственото си публично изказване в този период Костов прави на XIII Национална конференция на СДС. В него той заявява, че няма да променя позициите си спрямо моментните настроения на избирателите и нарича българите „народ в кавички“.
През 2004 г. Иван Костов напуска СДС поради несъгласие с новото ръководство, начело с Надежда Михайлова и оглавява новосъздадената партия Демократи за силна България (ДСБ).
Преди изборите за Европейски парламент през 2009 г. ДСБ и СДС сключват съюз и Иван Костов става съпредседател на новосъздадената коалиция от партии Синята коалиция, заедно с Мартин Димитров.
Народен представител е в 7-то Велико Народно събрание и в 36-то, 37-то, 38-то, 39-то, 40-то и 41-то Обикновено Народно събрание.
Иван Костов е женен за Елена Костова и има две дъщери – Яна и Мина, и двама внука – Иван и Виктор.