Fresh from their exploits in the Gloucester side that lifted the Premiership Rugby 7s, Thorley started the game on the left wing, while Underhill was named amongst the replacements.
The victory means England are two wins from two games in South Africa after beating France 23-6 in George.
Under the imposing gaze of the Outeniqua Mountains, Joe Marchant's intercept try when the game was on a knife-edge at 9-6 swung the game into England's favour and John Williams' late try on debut sealed the win.
Fly half Theo Brophy Clews added both conversions as well as two crucial earlier penalties, while Rory Jennings scored one three-pointer.
It wasn't all plain sailing for England as France more than held their own in an even first half. But after going in 6-6 at the break, the second period belonged to England who pulled away towards the end.
Head Coach John Fletcher said:
"It was another tough game, as it always is when you play France. I thought that we dominated the game for periods, but France defended and tackled well, and to be fair they had a long spell in our half.
"We made a few too many unforced errors, particularly early on in the game. But I thought that we were quite comfortable throughout and we've come through with each player on tour having had a start which will start us in good stead for Saturday's game against South Africa.
"We know what South Africa will bring - they mirror the Seniors. They'll be big and physical, which is what we expect, we'll have to up our game and put in a big performance, which I know we are capable of."
Points: Brophy Clews 2P, 2C, Jennings 1P; Merchant 1T, Williams 1T
England Under 18 starting XV against France
15 Cameron Cowell (St Pauls College & London Irish)
14 Taylor Prell (Giggleswick School & Yorkshire Carnegie)
13 Joe Marchant (Peter Symonds & Harlequins)
12 John Williams (St Pauls Catholic College and London Irish)
11 Ollie Thorley (Cheltenham College & Gloucester Rugby)
10 Theo Brophy Clews (Abingdon School & London Irish)
9 Rory Jennings (Bryanston School & Bath Rugby)
1 Owen Hills (QEW & Leicester Tigers)
2 James Fish (Trent College & Northampton Saints)
3 Ciaran Parker (St Ambrose & Sale Sharks) (c)
4 Kieran Treadwell (John Fisher & Harlequins)
5 Joe Maksymiw (QEW & Leicester Tigers)
6 George Nott (Kings School Chester & Sale Sharks)
7 Lewis Ludlam (St Joseph's College & Northampton Saints)
8 Charlie Beckett (QEW & Leicester Tigers)
16 Ollie Adams (St Pauls Catholic College & London Irish)
17 Lewis Boyce (Prince Henry's & Yorkshire Carnegie)
18 Seb Adeniran-Olule (Wellington College & Harlequins)
19 Joe Batley (Hartpury College & Gloucester Rugby)
20 Sam Underhill (Sir Thomas Rich's School & Gloucester Rugby)
21 Harry Mallinder (Rugby School & Northampton Saints)
22 Will Homer (Sherborne School & Bath Rugby)
23 Kai Little (Hartpury College)
24 Rotimi Segun (Stowe School & Northampton Saints)
25 Max Clark (Bryanston School & Bath Rugby)