Родился в семье прусского служащего. Учился в университетах Йены (где слушал лекции Куно Фишера) и Гейдельберга (где слушал лекции Лотце). Добровольцем участвовал во франко-прусской войне 1870.
В Берлине защитил диссертацию «Учение о случайности» (1870), габилитировался в 1873.После защиты диссертации Виндельбанд начинает преподавательскую деятельность в Лейпциге: через три года он приват-доцент, а через шесть лет — профессор. Профессор в Цюрихе (1876).
С 1877 — профессор университета во Фрайбурге, с 1882 — в Страсбург, с 1903 — в Гейдельберге. Член Гейдельбергской академии наук с 1910.