Scotland ended a decade-long streak without a win over England with an impressive victory to leave the Six Nations favourites reeling.
It brings to an end an eight-game losing streak for Scotland against England and represents Scotland’s greatest triumph of the modern era.
Meanwhile, England’s hopes of claiming a record third successive title have been cast in to doubt while Ireland have now emerged as favourites following their convincing win over Wales.
Centre Huw Jones scored two tries – Scotland’s first against England at home in 14 years – and Sean Maitland grabbed another as the hosts led 22-6.
Owen Farrell landed two penalties and his converted try on the resumption brought England to within nine points.
But Finn Russell’s penalty after a Sam Underhill shoulder charge sealed it.
Underhill’s no-arms challenge saw him yellow-carded, giving Scotland a man advantage from the 66th to the 76th minute.
Scotland: 15 Stuart Hogg, 14 Tommy Seymour, 13 Huw Jones, 12 Pete Horne, 11 Sean Maitland, 10 Finn Russell, 9 Greig Laidlaw, 8 Ryan Wilson, 7 Hamish Watson, 6 John Barclay (c), 5 Jonny Gray, 4 Grant Gilchrist, 3 Simon Berghan, 2 Stuart McInally, 1 Gordon Reid
Replacements: 16 Scott Lawson, 17 Jamie Bhatti, 18 Willem Nel, 19 Tim Swinson, 20 David Denton, 21 Ali Price, 22 Nick Grigg, 23 Blair Kinghorn
England: 15 Mike Brown, 14 Anthony Watson, 13 Jonathan Joseph, 12 Owen Farrell, 11 Jonny May, 10 George Ford, 9 Danny Care, 8 Nathan Hughes, 7 Chris Robshaw, 6 Courtney Lawes, 5 Maro Itoje, 4 Joe Launchbury, 3 Dan Cole, 2 Dylan Hartley (c), 1 Mako Vunipola
Replacements: 16 Jamie George, 17 Joe Marler, 18 Harry Williams, 19 George Kruis, 20 Sam Underhill, 21 Richard Wigglesworth, 22 Ben Te’o, 23 Jack Nowell
Date: Saturday, February 24
Kick-off: 16:45 GMT
Referee: Nigel Owens (Wales)
Assistant Referees: Jérôme Garcès (France), Andrew Brace (Ireland)
TMO: Simon McDowell (Ireland)