What was the last battle fought on British soil?
Much depends on how we define a battle. If we mean an engagement between two armies, then the last battle on British soil was fought on 16 April 1746 at Culloden near Inverness in Scotland. That day a government army under the Duke of Cumberland defeated a Jacobite force led by Charles Edward Stuart, better known as Bonnie Prince Charlie. More than 2,000 men, most of them Jacobites, were killed and wounded in the fighting, which effectively ended their plans to re-establish the Stuart dynasty in Britain.
Just over 50 years later, in February 1797, a French force landed at Fishguard in Pembrokeshire in what has been described as the last foreign invasion of mainland Britain. The Pembroke Yeomanry were awarded a battle honour for their part in defeating the landing but there was no battle to speak of. The “invaders”, little more than a drunken rabble, surrendered without a fight.
Although it might be argued that it was too small to qualify as a battle, the last military engagement on British soil against members of a foreign armed force took place during the Second World War. On 27 September 1940, a German Ju88 bomber crash-landed on Graveney Marsh in Kent. When some British troops who were billeted in a nearby pub turned up to investigate, they came under machine-gun fire from the crew. The British returned fire, and – after one German airman was shot in the foot – the crew surrendered.
Julian Humphrys, historian and trustee of the Battlefields Trust
→→