Joniškio miesto įkūrimo pradžia yra laikomi 1523 m., kai Vilniaus vyskupas Jonas, vizituodamas tuo metu jo valdyto Šiaulių valsčiaus pakraščius, rado, kad jų gyventojai vis dar buvo pagonys. Vyskupo nurodymu keliose gyvenvietėse įsteigtos parapijos, o viena tokia gyvenvietė pavadinta Joniškiu. 1526 m. joje pastatyta bažnyčia. Kur buvo ši gyvenvietė tyrinėtojų nuomonės skiriasi: vieni teigia, kad tai galėjo būti dabartinio Kalnelio vietoje (3 km į šiaurės vakarus  nuo Joniškio), kiti, kad dabartinio miesto vietoje.

1530 m. Joniškyje pradėjo veikti parapijinė mokykla. Bažnyčios konfirmacijos dokumente 1607 m. Joniškis vadinamas miestu, kuriame buvo turgaus aikštė ir keturios gatvės - Upytės, Vokiečių, Žagarės, Užmūšės.

1616 m. liepos 4 d. Lenkijos-Lietuvos valdovas Zigmantas III Vaza Joniškiui suteikė Magdeburgo privilegiją. Ši privilegija leido Joniškyje rengti savaitinius prekymečius - vieną šv. Sofijos, Romos katalikų šventės dieną (IX.30.), o antrąjį - per šv. Valentiną (II.14.). Savaitiniai turgai vykdavo ketvirtadieniais. Pagal šią privilegiją miestiečiai turėjo teisę šaukti sueigas, kurios rinko vykdomosios valdžios ir teismo pareigūnus. Miestui buvo leista pasistatyti rotušę, joje vykdyti teismus ir atlikti kitus miesto reikalus, o prie rotušės turėti turgaus saiką, kirpyklą. Miestui duotas antspaudas, kur pavaizduotas Šv. Mykolas su kalaviju.

Palankios sąlygos prekybai lėmė tai, kad Joniškis iki pat XVII a. pabaigos buvo didžiausias tuometinės Šiaulių ekonomijos miestas.

1638-1640 m. Joniškyje buvo 179 karčemos: 148 alaus, 27 degtinės, 4 midaus.

1636, 1649, 1748 m. Joniškį nusiaubė gaisrai. Joniškis nukentėjo nuo karų su švedais XVII a. ir XVIII a. pradžioje.

XVIII a. viduryje Joniškyje apsigyvena pirmieji žydai.

1796 m. Šiaulių ekonomijos valstiečių sukilimo metu Joniškis buvo sukilimo centru. Jam vadovavo M.Pauga ir S.Aleksandravičius.1795 m. po paskutiniojo Lenkijos-Lietuvos valstybės padalijimo Jekaterina II panaikino Joniškio savivaldos teises ir miestą su aplinkinėmis žemėmis atidavė Platonui Zubovui.

1836-1858 m. per Joniškį nutiestas Rygos-Tilžės plentas. Tai paspartino gyventojų skaičiaus, miesto augimą. 1865 m. Joniškyje buvo 2634 gyventojai, pašto stotis, įsteigta valdiška dvimetė mokykla, 1871 m. - vaistinė, o nuo 1875 m. miestelio valdyba.

1895-1901 m. kun. L.Šiaučiūno pastangomis perstatyta mūrinė bažnyčia.

1897 m. Joniškyje buvo 4774 gyventojai, iš jų 2272 žydai. Pastarieji turėjo  dvi sinagogas - „Baltąją“ (1823 m.) ir „Raudonąją“ (1865 m.), vidurinę mokyklą (1921 m.), leido savo laikraštį.

XIX a. pabaigoje - XX a. pradžioje Joniškyje reiškėsi tautinis atgimimas. To meto žymūs veikėjai buvo dr. Vaineikis, M. Slančiauskas, Kl.Stankaitis, kun. L. Šiaučiūnas. 1911 m. buvo atidarytas didelis privatus K. Petrausko knygynas, o prie jo biblioteka. Kultūriniame gyvenime aktyviai reiškėsi Joniškio ir Kriukų vaidintojų būreliai, kurių veiklą įtakojo S. ir T. Goesai.  1909-1911 m. Joniškyje veikė mergaičių draugijos mokykla, o 1909-1911 m. „Saulės“ draugijos mergaičių mokykla.

Pirmojo pasaulinio karo metu, vokiečiams okupavus vakarines Rusijos imperijos gubernijas, strateginiais sumetimais 1916 metais buvo nutiestas platusis geležinkelis nuo Šiaulių į Jelgavą, o 1916-1922  m. - vidaus susisiekimui - siaurasis geležinkelis iš Joniškio į Žeimelį.

1933 m. miestui suteiktos antraeilio Lietuvos miesto teisės: visus miesto reikalus tvarkė savivaldybė su rinktu burmistru. 1919 m. atdaryta progimnazija. Nauji mokyklos rūmai buvo pritaikyti gimnazijai. 1936 m. pastatyti nauji rūmai pradžios mokyklai (dabar 2-oji vidurinė mokykla).1928 m. pastatytas paminklas Lietuvos nepriklausomybės dešimtmečiui.

1944 m., besibaigiant Antrajam pasauliniam karui, nukentėjo ir Joniškis - sugriauti kvartalai buvę pietinėje miesto aikštės dalyje, Livonijos gatvės pradžioje. Išaugo ir suklestėjo dabartinis Joniškis.