1320 m. minimi Mẽdininkai (Medenike) dešiniajame Varnelės krante. Ši gyvenvietė dominavo iki XVI a. 2-osios pusės, kai į šiaurę nuo Medininkų, kairiajame Varnelės krante XV a. įsikūrė Varniai. Pastarasis vardas kilęs nuo Varnelės upelio, kuris prateka pro miestą (vandenvardinis vietovardis). Dar 1904 m. Vaižgantas jos pavadinimą mini kaip Varnė.[4] Mažybinė priesaga, matyt, atsirado ilgainiui, išaugus gyvenvietei.
Miestelis įeina į senovės žemaičių genties gyvenamos teritorijos ribas. XIV a. Varnelės upės dešiniajame krante buvo įsikūrusi Medininkų gyvenvietė, 1314–1399 m. gyvenvietę puolė kryžiuočiai, 1389 m. kryžiuočius čia sumušė žemaičiai. 1417 m. LDK Didysis Kunigaikštis Vytautas Didysis įkūrė Medininkų vyskupiją, pastatydino katedrą, tais pačiais metais suteikė miesto teises. Siekdamas įtvirtinti savo valdžią, Vytautas ėmė atidavinėti valstiečius bajorams, tačiau, nenorėdami patekti priklausomybėn ir atsisakyti savo dievų, valstiečiai sukilo ir sudegino Medininkų bažnyčią, išvijo vyskupą su kunigais. Sukilimo slopinti atvyko Vytautas, ramindamas nukentėjusius bajorus jiems išdalijo žemės.
1417–1864 m. čia buvo Žemaičių vyskupijos centras. XV a. priešais Medininkus, kairiajame Varnelės krante ėmė kurtis Varniai, minimi 1539 m. Olauso Magnuso sudarytame žemėlapyje Carta Marina. XVI a. Varniai tapo vienu iš svarbiausių lituanistinės kultūros centrų ne tik Žemaitijoje, bet ir visoje LDK. Žemaičių vyskupas Merkelis Giedraitis (1576–1609 m.) siekė įvykdyti galutinę visų valstybės luomų christianizaciją. Tam tikslui Varniuose subūrė šviesiausius poetus, į vyskupiją kanauninkais pasikvietė ir lėšomis aprūpino istoriką Motiejų Strijkovskį, Lietuvos valstybės savarankiškumo šalininką, parašiusį ir 1582 m. išspausdinusį „Lenkijos, Lietuvos, Žemaitijos ir visos Rusios kroniką“, ir Mikalojų Daukšą – lietuviškų katalikiškų raštų rengėją.
Varniuose parengtas M. Daukšos verstas J. Ledesmos katekizmas – pirmasis katalikų katekizmas LDK. M. Daukša tapo pirmuoju literatūrinės lietuvių kalbos kūrėju, o 1599 m. išleista jo lietuviška „Postilė“ – XVI–XVII a. svarbiausiu mūsų kultūros istorijos įvykiu. Didelį darbą atliko vertėjas, pasiryžęs išversti didžiulio formato 632 puslapių knygą į lietuvių kalbą.
1635 m. suteiktos Magdeburgo teisės. 1740 m. iš Kražių atkelta kunigų seminarija. XIX a. 2-ojoje pusėje Motiejus Valančius įsteigė Vilniaus Zavadskio knygyno filialą. Žemaičių vyskupas Motiejus Valančius į kovą prieš rusifikaciją, katalikybės naikinimą įtraukė ir valstietiją, Varniuose vėl sutelktas gausus bendraminčių švietėjų, raštijos darbuotojų būrys, organizuota uždraustos lietuviškos spaudos leidyba ir platinimas. Tuo metu Varniai buvo Telšių apskrities miestelis, valsčiaus centras.[6]
Varnių kunigų seminarija savo veiklą pradėjo 1623 m., kai iš Kražių į Varnius buvo pasiųsti du jėzuitų kunigai: Andrius Kumlevičius ir Matas Flascius su dviem broliais: Mikalojumi Andriejausku ir Luku Sebastijonavičiumi. Jie ėmėsi vadovauti čia įkurtai seminarijai. Mokyta moralinės teologijos, apeigų, bažnytinio giedojimo ir kt. Mokydavosi 6-8 jaunuoliai. Vyskupų nuomone, seminarija veikė prastai, gal todėl ir neilgai. 1628 m. ji perkelta į Kražius.
Varniuose pastačius naują mūrinę katedrą, XVII a. pabaigoje imta rūpintis, kad kunigų seminarija vėl veiktų Varniuose. 1739 m. vyskupas Juozapas Karpis Varnių seminarijos įkūrimo reikalams skyrė 6000 lenkiškų auksinų, vyskupo skatinami seminarijos kūrimą rėmė ir turtingi kunigai. J. Karpis pradėjo seminarijos Varniuose statybą, ją užbaigė vyskupas Antanas Dominykas Tiškevičius.
1741 m. seminarija vėl pradėjo veiklą. Savotiškiems tris mėnesius trunkantiems „kvalifikacijos kėlimo kursams“ būdavo sukviečiami ir jau įšventinti bei parapijose dirbantys kunigai. Seminarija išlaikyta iš D. A. Tiškevičiaus šioms reikmėms užrašytų Palūksčio ir Kujainių kaimų. Mokymui pagerinti, be jėzuitų, buvo kviečiami ir mokytojai pijorai. Reikalai gerokai pasitaisė, vyskupas ir kapitula liko patenkinti. 1748 m. klierikų padaugėjo iki 20. Apie 1760–1761 m. vadovavimą seminarijai ir pijorų vėl perėmė jėzuitai.
1762 m. Žemaičių vyskupu paskirtas Jonas Dominykas Lopacinskis. Jis rėmė knygų leidybą, buvo dailės ir literatūros mylėtojas, savo dvarelyje Lukiškėse (Vilniuje) turėjo gausią biblioteką ir meno kolekciją. Jo vyskupavimo metu perstatyta 19 Žemaitijos bažnyčių, Viržuvėnuose (Janapolėje) įsteigta rezidencija, Varnių katedra išgrįsta marmuru, miestelyje pastatyti namai vikarams ir choristams, prie mokyklos – mokytojams, pradėta rūpintis naujo seminarijos pastato statyba buvusios katedros vietoje, skirta 40 000 auksinų iš jo pajamų. 1767 m. popiežiui pranešta, kad jau baigiama statyti mūrinė seminarija. Tai buvo įvykdyta apie 1770 m.
Didingi restauruoti seminarijos rūmai tebestovi iki šiol, juose 1999 m. pradėtas kurti Žemaičių vyskupystės muziejus. Tais pačiais metais Žemaičių kultūros draugijos iniciatyva prie šių rūmų pastatytas skulptoriaus Arūno Sakalausko sukurtas paminklas, kurio statybą, be LR Vyriausybės, parėmė garsus Žemaičių vyskupų Giedraičių giminės atstovas Oksfordo universiteto profesorius Mykolas Giedraitis.
Istorikas Motiejus Strijkovskis (~1547–1593 m.) Varniuose gyvendamas parašė „Lenkijos, Lietuvos, Žemaičių ir visos Rusijos kroniką“. Nuo 1572 m. iki mirties Varniuose gyveno vienas lietuvių raštijos pradininkų Mikalojus Daukša (~1527–1613 m.). Varnių vidurinę mokyklą baigė pasaulio, Europos čempionatų bei olimpinių žaidynių prizininkas irkluotojas Zigmas Jukna, daugkartinis Lietuvos stalo teniso čempionas Stasys Rimeikis.
Boris Schatz (1867–1932) – dailininkas ir skulptorius
Valentina Dagienė (g. 1954) – Lietuvos informatikė, fizinių mokslų daktarė.
Algirdas Kumža (g. 1956) – teisininkas, diplomatas, Lietuvos Respublikos Aukščiausiosios Tarybos akto dėl Lietuvos nepriklausomos valstybės atstatymo signataras.