Şahkulu’nun doğum tarihi bilinmemektedir. Teke ilinin, (bugün Antalya) Korkuteli kazasının, Yalımlı köyünde doğdu. Şah İsmail’in babası, Şeyh Haydar’ın halifelerinden Hasan Halife’nin oğludur.
Küçük yaşta babası ile birlikte gittiği Erdebil’de Şeyh Haydar tarafından Şii inançları doğrultusunda eğitildikten sonra, Antalya’ya gönderildi. Doğduğu köyün yakınlarındaki bir mağaraya çekilerek, Batı Anadolu ve Rumeli halkını Şiilik ve Şah İsmail’e bağlılık düşüncesi çevresinde toplamaya çalıştı. Yandaşlarını hızla çoğaltmasında en önemli etken, Sultan İkinci Bayezid ile oğulları arasında çıkan saltanat mücadelesidir. Şahkulu yeterince güç topladıktan sonra, 10.000 kişilik bir ordu ile ayaklanma başlattı.
Antalya’dan Manisa’ya gitmekte olan Şehzade Korkud’un kuvvetlerine saldırarak hazinesine el koyduktan sonra Kızılkaya, İstanos, Elmalı, Burdur, Keçiborlu kasabalarını basarak kadılarını ve kendisine direnenleri öldürdü ve ele geçirdiği bu bölgenin yönetimine kendi adamlarını geçirdi.
Kütahya önlerinde kendisine karşı gönderilen Karagöz Paşa ile çarpışarak Karagöz Paşa’yı tutsak etti. Nisan 1511’de Kütahya kalesini kuşattı ama sonuç alamadı. Karaman Beylerbeyi Haydar Paşa’yı öldürerek kuzeye yöneldi. Karaman yakınında, Kızılkaya boğazında sadrazam Hadım Ali Paşa komutasındaki kuvvetlerce çembere alındı. Amasya valisi Şehzade Ahmed’in, Yeniçeriler arasındaki ikilik ve bölünmeye yol açan tutumundan yararlanarak kuşatmayı yardı ve Sivas yönünde kaçmayı başardı. Hadım Ali Paşa az bir kuvvetle Çubukova’da ona yetişti ve iki taraf 2 Temmuz 1511’de Gökçay yöresinde savaşa tutuştu. Şahkulu çarpışma esnasında isabet eden bir okla öldü.
Hadım Ali Paşa’nın ölmesiyle Osmanlı ordusu da çarpışmaya son vererek çekildi. Şahkulu’nun kalan kuvvetleri de İran yönünde çekilirken Tebriz’den gelen bir kervanı soydukları için Şah İsmail tarafından ağır biçimde cezalandırılarak dağıtıldılar.