Перша згадка про місто датується 1084 р. у "Повчанні Володимира Мономаха своїм дітям". За однією з легенд назва походить від бродів, які прокладали через заболочену місцевість.
У 1584 р. місто отримало магдебурзьке право. Того ж року Станіслав Жолкевський перейменував його на Любич (від назви родинного герба). Але нова назва недовго пережила свого автора — вже у 1629 р. місто знову почало називатися Бродами.
Ще в XIV ст. на західній околиці міста постав укріплений замок, а в 30-х роках XVI ст. під керівництвом архітектора Андреа дель Акви за проектом французького інженера Г. Л. де Боплана на кошти великого коронного гетьмана Станіслава Конєцпольського було збудовано нову кам’яну фортецю у вигляді п’ятикутника. У 1648 р. замок витримав двомісячну облогу козацьких військ. У середині XVIII ст. нові власники — родина Потоцьких — збудували на дитинці двоповерховий палац та барокову вежу з годинником над брамою. У 1812 р. перед походом Наполеона на Москву російська влада змусила австрійську частково зруйнувати твердиню. Було зірвано вежу, засипано рів. До нашого часу від укріплень залишилися рештки валів і каземати. Пізніше Потоцькі зберігали у замку свою бібліотеку, частина якої тепер перебуває у Швейцарії. На сьогодні у колишньому палаці розміщено виставкові зали краєзнавчого музею.
У Бродах збережена планувальна структура, яка дозволяє віднести місто до так званих "ідеальних міст", які розбудовувалися в пізньосередньовічній Європі.