La Seconde Guerre des barons, de 1264 à 1267, voit s'opposer les barons rebelles, menés par Simon de Montfort, à ceux restés fidèles au roi. En ouverture du conflit, Édouard reprend la ville de Gloucester, puis conclut une trêve avec le comte de Derby Robert de Ferrières, venu secourir les rebelles. Le prince s'empare ensuite de Northampton, puis entreprend une campagne contre les terres du comte de Derby, qui a rompu la trêve. Le premier affrontement majeur du conflit a lieu à Lewes le . Édouard commande l'aile droite de l'armée royale. Il écrase les Londoniens qui lui font face, mais commet l'erreur de poursuivre l'ennemi en fuite, et lorsqu'il revient sur ses pas, il est trop tard : l'armée royale a été vaincue. Par la , Édouard et son cousin Henri d'Almayne sont remis à Montfort comme prisonniers.