Hoci sa rané dejiny mesta datujú už do 13. storočia (Bosnianske kráľovstvo), prvá písomná zmienka o stredovekej pevnosti v meste pochádza z roku 1415, keď sa spomína v súvislosti s vojenským stretom, pri ktorom osmanské vojská s pomocou bosnianskeho magnáta Hrvoje Vukčića Hrvatinića porazili armádu uhorského kráľa Žigmunda Luxemburského. Niekedy pred rokom 1503 sa mesto priamo dostalo pod osmanskú nadvládu. Pôvodná kresťanská populácia slúžiaca ako posádka pevnosti musela mesto a pevnosť opustiť a bola usadená v susedstve na mieste pomenovanom Rajčinovac. Počas vlády sultána Selima I. bol zbúraný raný kresťanský kostol z 13. storočia a na jeho miesto bola postavená mešita Selimija. Počet domácností sa postupne približne zdvojnásobil, no celkovo nebol veľký. Počas veľkej rakúsko-tureckej vojny (16831699) sa posádka v meste vzdala Rakúšanom a počas rakúsko-tureckej vojny v rokoch 17161718 rakúska armáda Doboj obsadila a vypálila mesto i pevnosť. V roku 1835 bola stála posádka v meste zrušená a v roku 1878 bolo mesto v rámci anexie Bosny obsadené Rakúskom-Uhorskom. V meste sa počas tejto udalosti uskutočnili tvrdé bitky miestnych s okupačnou armádou. V období rakúsko-uhorskej nadvlády mesto zažilo nový rozvoj, ktorý podporila výstavba železnice i cukrovaru. Významným prvkom pre rozvoj mesta bola regulácia toku rieky Bosny. Po prvej svetovej vojne sa mesto stalo súčasťou Juhoslávie. Po druhej svetovej vojne sa mesto vďaka novej železnici stalo významným železničným uzlom a vystavané boli i kasárne. Počas vojny spojenej s rozpadom Juhoslávie sa v okolí mesta uskutočnili boje spojené s represiami nesrbskej populácie. Pôvodná opština Doboj bola po vojne rozdelená a jej časť sa na rozdiel od dnešného mesta stala súčasťou Federácie Bosny a Hercegoviny (Doboj Jug). V roku 2014 mesto postihli rozsiahle záplavy, ktoré si vyžiadali minimálne 20 ľudských životov.