Slaget utspilte seg grunnet at Edvard I av England krevde som Skottlands overherre at den skotske vasallkongen Johan Balliol skulle stille med tropper i den pågående krigen som England hadde med Frankrike. Kravet om å kjempe på kontinentet i Englands kriger var umulig for den skotske adelen og Balliol å akseptere. Balliol fornektet sin troskap til den engelske kronen, og en engelsk hær ble sendt nordover. Til tross for å holde en tilsynelatende overlegen posisjon på slagmarken, trodde skottene at engelskmennene forsøkte å flykte, rykket fram nedover skråningen, kun for å bli beseiret i et enkelt angrep. Rundt 100 skotske riddere og adel ble tatt som fanger med Balliol flyktet sørover til Perth og overga seg betingelsesløst til Edvard i juli.