Hasankeyf’in ne zaman kurulduğu kesin olarak bilinmemekle birlikte tarihi antik döneme kadar dayanmaktadır. Yerleşim, Yukarı Mezopotamya’dan Anadolu’ya geçiş yolu üzerinde ve Dicle nehrinin kenarında kurulmuş olması nedeniyle stratejik bir öneme sahipti. MS 2. ve 3. yüzyıllarda sınır yerleşimi olarak Bizanslılarla Sasaniler arasında el değiştirmiştir. Diyarbakır ve çevresini ele geçiren Roma İmparatoru II. Constantius, bölgeyi Sasanilerden korumak amacıyla iki sınır kalesi inşa ettirmiştir. MS 363 yılında inşa edilen kale uzun süre Roma ve Bizans egemenliğinde kaldı. Hristiyanlığın bölgede 4. yüzyıldan itibaren yayılmaya başlamasından sonra yerleşim Süryani piskoposluğunun merkezi durumuna geldi. Hasankeyf 640 yılında, Halife Ömer döneminde İslâm ordusu tarafından ele geçirildi. Emeviler, Abbasiler, Hamdaniler ve Mervaniler egemenliğinde kalan yerleşim 1102 yılında Artuklular tarafından ele geçirilmiştir. Artuklu beyliği’nin 1102-1232 yılları arasında başkentliğini yapan Hasankeyf, en parlak dönemini bu tarihlerde yaşamıştır. Artuklular döneminde imar edilerek kale kasabası özelliğinden kurtulup şehir haline geldi. 1232 yılında Eyyubiler tarafından ele geçirilen yerleşim, 1260 Moğollarca ele geçirildi ve tahrip edildi. Hasankeyf’in Eyyubi hakimi Hülagü’ye bağlılığını bildirerek şehirdeki egemenliğini devam ettirebildi. Hasankeyf, 14. yüzyılda önemli bir şehir olma özelliğini korumakla birlikte eski parlak günlerine kavuşamadı. 1462 yılında Uzun Hasan tarafından ele geçirilen şehir Akkoyunlu topraklarına katıldı. Akkoyunlular’ın zayıflamasıyla 1482 yılında Hasankeyf’ te Eyyubi emirlerinin yönetimi yeniden başlamıştır. Bir süre sonra Safeviler’in denetimine geçen yerleşim, 1515 tarihinde Osmanlı topraklarına katılmıştır. 1524 yılına kadar Osmanlı yönetimine bağlı Eyyubi yöneticiler tarafından idare edilen Hasankeyf, bu tarihten itibaren Osmanlı idarecileri tarafından yönetilmeye başlamıştır. 17. yüzyıldan itibaren ana ticaret yollarının değişmesi ve Osmanlı-İran savaşları sonucunda ticarette görülen duraklama neticesinde şehir önemini yitirdi. 1867 yılından sonra Mardin Midyat’a bağlı olan yerleşim, 1926 yılında Gerçüş ilçesine bağlanmıştır. 1990 yılında Batman’ın il olmasıyla ilçe bu şehre bağlanmıştır.