Les affaires écossaises semblent réglées lorsque Édouard quitte le pays, en 1296, mais la résistance ne tarde pas à se manifester sous la direction d'un chef charismatique et brillant stratège : William Wallace. Le , une armée anglaise dirigée par le comte de Surrey John de Warenne et Hugh de Cressingham est mise en déroute par des Écossais très inférieurs en nombre, menés par Wallace et Andrew Moray. Cette défaite de Stirling Bridge suscite l'émoi dans toute l'Angleterre, et une campagne punitive est aussitôt mise en branle. Édouard se dirige vers le nord peu après son retour de Flandres. Le , il mène ses troupes au combat pour la première fois depuis Evesham (1265) et bat Wallace à Falkirk. Il ne peut cependant pas profiter de sa victoire, et les Écossais parviennent à reprendre le château de Stirling l'année suivante. Édouard continue à guerroyer en Écosse en 1300 (il s'empare du château de Caerlaverock) et en 1301, mais les Écossais évitent de s'engager à découvert, préférant lancer des raids de petite ampleur sur le territoire anglais. Encouragés en secret par la France, ils s'adressent au pape pour qu'il devienne leur suzerain en lieu et place d'Édouard. La bulle papale adressée en ces termes au roi Édouard est rejetée par la Lettre des barons de 1301, et les Anglais adoptent une nouvelle stratégie. En 1303, ils concluent une paix séparée avec la France, isolant ainsi l'Écosse. Robert Bruce, le petit-fils du prétendant malheureux de 1291, rallie les Anglais durant l'-1302. La majeure partie de la noblesse écossaise imite son exemple, et en 1304, le château de Stirling change à nouveau de mains. William Wallace, trahi, est livré aux Anglais et exécuté à Londres le . Édouard installe à nouveau des Anglais et des Écossais pro-anglais à la tête du pays.