İki tarafta tüm hazırlıklarını tamamlayıp 28 Temmuz sabahı, sabah namazından sonra savaş düzeni aldılar. Beyazıt, Niğbolu savaşında kullandığı Kurt Kapanı (Hilal) taktiğini uygulamak için ordunun en önünde yer aldı. Beyazıt, kendisine bağlı Azaplarla birlikte çalılık ve otluk bir düzlük üzerinden hücum ederek ilk taarruzu başlattı. Ancak bodur ağaçlar ve çalılıklar, ileri taarruz için hızı yavaşlatan bir etkendi. Öncü kuvvetlerin taarruza kalktığını gören Timur, ilk karşılığı okçularla verdi. Timur’un ordusundan gelen yoğun oklar, çalılıklar ve otluklar sebebiyle yavaşlayan Azaplar üzerinde etkili olunca Azaplar, ağır kayıplar vererek geri çekilmek zorunda kaldı. İlk hamlesi başarılı olmayan Beyazıt, Yeniçeriler ve Sipahilerden oluşan güçlerine taarruz emri verdi. Timur, ilerleyen yaya kuvvetlerine karşı savaşçı fillerini ve ormanlık alan içerisinde gizlenen süvarileri görevlendirince avantaj yine Timur’un güçlerinin eline geçti. Mirah Şah’ın birlikleri de Süleyman Çelebi komutasındaki birliklerin üzerine taarruz edince zor durumda kalan Süleyman Çelebi birliklerine Merkez güçte yer alan Yeniçeriler yardıma gitti. Sayıca az olan Osmanlı Ordusu, Yeniçerilerin ordu merkezinden ayrılmasıyla ikiye bölündü ve Timur’un savaşçı filleri daha da ileri sürmesiyle sağdan, soldan ve ön cepheden hücum eden güçlere karşı yeterli direnişi gösteremedi. Üstelik Osmanlı Ordusu, savaşçı fillerle ilk kez karşılaşıyorlardı. Fillere karşı nasıl bir taktik izleyeceğini bilmeyen Osmanlı Ordusu, karşı koyulmaz fillerin taarruzları karşısında disiplin ve düzenini kaybetmeye başlamıştı.
Bunun üzerine Beyazıt, büyük bir hata yapıp kurt kapanı taktiğini tekrar uygulayarak Sipahilerle Filleri karşı karşıya getirdi. Savaşın en kanlı ve şiddetli anı o andı. Yeniçerilerin ok atışları ve Sipahilerin başarılı taarruzlarıyla filler etkisiz hale getirilmişti; ancak hem Sipahiler hem Yeniçeriler çok ağır kayıplar verdiler. Fillerin devredışı kaldığını gören Timur, Şeyh Ömer Mirza komutasındaki birliklerini Yeniçerilerin üzerine gönderdi. Beyazıt, bu hamleye karşılık olarak Anadolu beyliklerinden toplanan Askerleri ve Kara Tatarları takviye etti. Ancak Karar Tatarlar, Timur ile savaş öncesinde anlaşmışlardı. Yeniçerilerin yanında gitmek yerine Rumeli ve Sırp askerilerinin arka cenahından ok atışlarıyla arkadan saldırdılar. Miran Şah ile Süleyman Şah Çelebi birliklerinin arasında geçen çarpışmalarda takviye olarak gelen güçlerden Anadolu Beylikleri taarruz etmekteyken, Timur’un ordusuna bağlı Anadolu Beylikleri kendi bayraklarını açınca Beyazıt’a bağlı Anadolu Beylikleri de Timur’un ordusundaki Anadolu Beyliklerinin safına geçerek Osmanlı ordusundaki dengeleri alt üst ettiler. Yeniçeriler ve Rumenli birlikleri, önce Kara Tatarlar, sonrasında Anadolu Beyliklerini Timur’un safına geçmesiyle savaş alanındaki insiyatiflerini kaybederek ağır kayıplar vermeye başladılar. Rumeli ve Sırp birlikleriyle Yeniçeriler dışındaki güçlerin kendilerine sırt çevirip Timur’un tarafına geçmesiyle Beyazıt tam anlamıyla hayal kırıklığına uğradı. Osmanlı ordusunda, yalnızca Yeniçeriler ve Rumeli-Sırp birlikleri Beyazıt’a sırt çevirmemiş ve savaşın sonuna kadar mücadele etmişlerdi.
Adım adım mücadeleyi kaybeden Osmanlı ordusu, mağlup olunan cephelerden çekilmeye başladı. Timur, son emrini vererek Beyazıt’ın sağ ele geçirilmesini emredince sonuç almak için son taarruz başladı. Vezirle İsa Çelebi, Süleyman Çelebi, Mustafa Çelebi ve Mehmet Çelebi kuşatmayı yararak kaçmayı başardılar. Şehzadelerin kaçtığını fark eden Sırp birliklerinin komutanı ve Beyazıt’ın kayınbiraderi olan Stefan Lazareviç, Beyazıt’a çekilmesi için tavsiyede bulunsa da Beyazıt mücadele etmeye devam etti. Çataktepe’de emrinde 300 kişilik askeriyle atının sırtında çarpışarak Timur tarafından yakalandı ve esir edildi ve Ankara Savaşı, Osmanlı Devleti için büyük bir hezimet olarak tarihe geçti.