A try from Sean Maitland and a first-half double by Huw Jones did the bulk of the damage, putting the Scots 22-6 up at the interval and on course for their first victory over the English for the first time since 2008.
The defending champions pulled a try back in the second period through Owen Farrell, but were unable to further reduce the deficit thanks to solid defensive play from Scotland.
Scotland opened the scoring early on through Greig Laidlaw's penalty and racked up the first try of the evening in the 15th minute when Jones went over, with Laidlaw going on to convert.
England put their first points on the board through a pair of Farrell penalties in the 14th and 18th minutes, before Maitland added another try for the Scots on the half-hour mark and Jones added his second in the 38th minute.
Farrell's try and subsequent conversion in the 44th minute made the match a contest again, but a tight defensive display coupled with Finn Russell's late penalty kept the English at bay and ensured that Scotland triumphed in this fixture for the first time in a decade.