Vis pripada skupini srednjodalmatinskih otoka koji leže na Jadranskoj karbonatnoj platformi –golemoj ploči vapnenca i dolomita koja danas čini kostur većine dalmatinskih otoka i krša uopće.
Tijekom mezozoika to je bio plitak morski prostor iznad kojeg su se milijunima godina taložile školjke, koralji i drugi organizmi, stvarajući debelu naslagu vapnenca i dolomita.
Kasnije, tijekom sudara Jadranske mikroploče s Euroazijom i formiranjem Dinarida (u kasnoj kredi i paleogenu), ti su sedimenti nabrani i navučeni jedni preko drugih čime su se uzdigli iznad razine mora. Tako je nastao vanjski pojas Dinarida i današnji raspored obale i otoka. Jedan od izdignutih naboranih dijelova nekadašnje platforme je i današnji otok Vis.
Posebnost viškog arhipelaga u odnosu na ostale jadranske otoke je u tome što sadrži neke od najstarijih stijena u cijelom Jadranu – dio stijena star je oko 220 milijuna godina. Jezgru otoka Visa čine vulkanogene stijene, evaporiti, sedimenti te dolomiti, a karakteristični su i za obližnje otoke Biševo i Jabuku. U kasnijem mezozoiku, na ove stare podloge nastavlja se dugotrajno taloženja karbonata, odnosno vapnenca i dolomita, često s fosilima.
Nakon izdizanja stijena iznad razine mora, započinje dug proces oblikovanja krških reljefnih oblika. Ključni oblici na otoku Visu i pripadajućim otočićima su krška polja od kojih su najprostranija Dračevo polje i Velo polje, uvale među kojima se ističu one na mjestima gradova Vis i Komiža te špilje i špilje (Modra špilja, Medvidina, Zelena špija). Dobro su zastupljene naslage crvenice, pleistocenski pijesci i eolske dine rezultat faza kada je otok bio dio Jadranske nizine.
Tijekom posljednjeg glacijalnog maksimusa (prije 20 000 godina), razina mora u Jadranu bila je 100-120 m niža nego danas pa je Vis bio uzvišenje tog istog kopna. Promjenom klime led se je povlačio, more je u holocenu (prije 12 000 godina) postupno preplavilo nizinu i uzvišenja pretvorilo u otoke. Vis je time relativno „mlad“ otok u geografskom smislu, ali su stijene od kojih je građen višestruko starije.