In the other encounter at Kelso, where fans joined officials in clearing tons of snow from the pitch in early morning, Scottish Borders used home advantage to beat Edinburgh 15-9.
Longstaff, who is qualified to represent Scotland through family connections, grabbed two tries while his fellow winger John Kerr also crossed as Caledonia always managed to keep ahead of the opposition.
The Scotland winger Derek Stark scored a try which cut the deficit to five points but Caledonia rallied and held out despite James Craig going over for a second Glasgow try which Kenny Logan again converted.
Scottish Borders' 15-9 win over Edinburgh was a tense and scrappy affair, which may have hinged on a try-saving tackle by Stewart Bennett on Cammy Glasgow in the 70th minute. Bennett injured a shoulder in the process and was taken to hospital.
All the Borders' points came in the first-half, with Ron Kirkpatrick ploughing over from a maul for a try and Mark Moncrieff capitalising on a break by the 17-year-old Keith Davidson.
Edinburgh were restricted to three penalties from seven attempts by Duncan Hodge.
Glasgow: Tries Stark, Craig; Conversions Logan 2. Caledonia: Tries Longstaff 2, Kerr; Conversion M McKenzie; Penalty M McKenzie.
Scottish Borders: Tries Kirkpatrick, Moncrieff; Conversion Parker; Penalty Parker. Edinburgh: Penalties Hodge 3.
GLASGOW: K Logan (Stirling County); D Stark (Melrose), C Sangster (Stirling County), A Garry (Watsonians), J Craig (West); C MacGregor (Glasgow Acad), F Stott (West); G McIlwham (GHK), G Buloch (West, capt), B Robertson (Stirling County), S Munro (GHK), M Norval (Stirling County), F Wallace (GHK), D McLeish (West), M Wallace (GHK).
CALEDONIA: D Officer (Currie); S Longstaff, P Rouse (both Dundee High), J Kerr (Watsonians), M McKenzie (Stirling County); P Simpson (Edinburgh Acads), T Smith (Watsonians); K McKenzie (Stirling County), D Herrington (Kirkcaldy), S Campbell (Melrose), S Grimes (Watsonians), D McIvor (Glenrothes, capt), G Flockhart (Stirling County), R Wainwright (Watsonians).
Referee: I Ramage (Berwick).
SCOTTISH BORDERS: K Davidson (Langholm); M Moncrieff (Melrose), S Nichol (Melrose), A Stanger (Hawick, capt), G Parker (Melrose); S Welsh (Hawick), I Fairley (Kelso); N McIlroy (Jed-Forest), S Brotherstone, P Wright, R Brown (all Melrose), I Elliot (Hawick), S Bennett (Kelso), R Kirkpatrick (Boroughmuir), K Armstrong (Jed-Forest). Replacement: S Aitken (Melrose) for Bennett, 70.
EDINBURGH: D Lee (Watsonians); C Glasgow (Heriot's FP), S Hastings (Watsonians, capt), M Craig (Currie), E Bunney (Heriot's FP); D Hodge (Watsonians), G Beveridge (Boroughmuir); B Stewart (Edinburgh Acads), G Ellis (Currie), S Paul (Heriot's FP), A Lucking (Currie), S Murray (Bedford), B Ward (Currie), S Reid (Boroughmuir), G Dall (Heriot's FP).
Referee: S Piercy (England).