Muhammad bin al-Hanafiyah (Arab: محمد بن الحنفية), atau nama aslinya Muhammad bin Ali bin Abi Thalib, adalah salah seorang anak dari Ali bin Abi Thalib. Ibunya adalah Khaulah bin Ja'far dari Bani Hanifah, yang dinikahi Ali setelah wafatnya Fatimah az-Zahra putri Nabi Muhammad. Ia lahir sekitar tahun 636 di Madinah, yaitu pada masa pemerintahan Utsman bin Affan.
Terbunuhnya Husain bin Ali dalam Peristiwa Karbala, membuat Muhammad bin al-Hanafiyah muncul sebagai tokoh utama kelompok keluarga Ali (umumnya di Irak); dalam memperjuangkan kepemimpinan atas umat Islam. Ibnu al-Hanafiyah didukung oleh Al-Mukhtar ats-Tsaqafi dan para pengikutnya, yang terutama berada di Kufah, Irak, dalam menghadapi kelompok-kelompok Khawarij (di Yaman), Bani Umayyah (di Syam dan Mesir), serta Abdullah bin Zubair (di Hijaz dan Irak). Bani Umayyah akhirnya dapat mengatasi perlawanan kelompok-kelompok lainnya, termasuk Al-Mukhtar yang terbunuh pada tahun 687. Ibnu al-Hanafiyah mengakui kekhalifahan Abdul Malik bin Marwan dari Bani Umayyah pada tahun 692, dan selanjutnya ia menjauhi politik hingga wafatnya di Madinah sekitar tahun 700.
Muhammad bin al-Hanafiyah setelah wafat juga dianggap sebagai Imam Mahdi oleh kelompok Kaisaniyah, salah suatu aliran Syiah awal yang kemudian menghilang pada akhir abad ke-8 M seiring bangkitnya kekuasaan Bani Abbasiyah. Muhammad bin al-Hanafiyah mempunyai dua anak, yaitu Abu Hasyim dan Al-Hasan. Abu Hasyim diangkat sebagai penerus kepemimpinan ayahnya oleh kelompok Syi'ah Kaisaniyah, sedangkan Al-Hasan bersikap sebagaimana aliran Murji'ah yang tidak berpihak pada kelompok manapun.
Keturunan Ali bin Abi Thalib sering pula disebut dengan Alawiyin atau Alawiyah. Setelah meninggalnya Fatimah az-Zahra, Ali memiliki delapan orang istri dan memiliki keseluruhan 36 orang anak. Dua anak laki-lakinya yang terkenal, lahir dari putri Nabi Muhammad, Fatimah, adalah Hasan dan Husain. Keturunan Ali melalui Fatimah dikenal dengan Syarif atau Sayyid, yang merupakan gelar kehormatan dalam Bahasa Arab, Syarif berarti bangsawan dan Sayyed berarti tuan. Sebagai keturunan langsung dari Muhammad, mereka dihormati oleh Sunni dan Syi'ah.