Nama minangkabau berasal dari dua kata yaitu, minang dan kabau. Nama itu dikaitkan dengan suatu legenda yang dikenal di dalam tambo. Dalam tambo Kehadiran nama Mnangkabau juga didentikan dengan kemampuan nalar, logika dan daya pikir masyarakatnya.
Dari tambo tersebut, konon pada suatu masa ada satu kerajaan asing (biasa ditafsirkan sebagai Majapahit) yang datang dari laut dan akan melakukan penaklukkan. Untuk mencegah pertempuran, masyarakat setempat mengusulkan untuk mengadu kerbau.
Pasukan asing tersebut menyetujui dan menyediakan seekor kerbau yang besar dan agresif, sedangkan masyarakat setempat menyediakan seekor anak kerbau yang masih menyusui. Dalam pertempuran, anak kerbau yang masih menyusui tersebut menyangka kerbau besar tersebut adalah induknya. Maka anak kerbau itu langsung berlari mencari susu dan menanduk hingga mencabik-cabik perut kerbau besar tersebut. Kemenangan itu menginspirasikan masyarakat setempat memakai nama Minangkabau,yang berasal dari ucapan “Manang kabau” (artinya menang kerbau). Kisah tambo ini juga dijumpai dalam Hikayat Raja-raja Pasai dan juga menyebutkan bahwa kemenangan itu menjadikan negeri yang sebelumnya bernama Pariangan menggunakan nama tersebut.
Selanjutnya penggunaan nama Minangkabau juga digunakan untuk menyebut sebuah nagari, yaitu Nagari Minangkabau, yang terletak di Kecamatan Sungayang, Kabupaten Tanah Datar, Sumatra Barat.
Dalam catatan sejarah kerajaan Majapahit, Nagarakretagama bertanggal 1365, juga telah menyebutkan nama “Minangkabau” sebagai salah satu dari negeri Melayu yang ditaklukannya. Begitu juga dalam Tawarikh Ming tahun 1405, terdapat nama kerajaan Mi-nang-ge-bu dari enam kerajaan yang mengirimkan utusan menghadap kepada Kaisar Yongle di Nanjing.
Di sisi lain, nama “Minang” (kerajaan Minanga) itu sendiri juga telah disebutkan dalam Prasasti Kedukan Bukit tahun 682 dan berbahasa Sanskerta. Dalam prasasti itu dinyatakan bahwa pendiri kerajaan Sriwijaya yang bernama Dapunta Hyang bertolak dari “Minānga” (dari berbagai sumber)