Fellow substitute Jamie Vardy had earlier cancelled out Gareth Bale's 35-yard free kick to leave the game level and set up a nervy finish.
It took until stoppage time for England to find the winner, when a clever poked finish by Sturridge beat Wayne Hennessey at his near post to send England to the top of Group B.
The late winner was a reward for the positivity of England manager Roy Hodgson, who had introduced both goal scorers at half-time in a bid to spark a recovery following Bale's opener and then brought on Marcus Rashford, who became the nation's youngest ever played at a European Championship.
Germany and Poland played out a 0-0 draw in their second Group C game in Paris.
The world champions dominated possession throughout the opening 45 minutes but failed to turn their advantage into a goal as the half ended without either side registering a shot on target.
The second half started more brightly, with Poland's Arkadiusz Milik improbably heading wide from four yards in what was the clearest chance. But neither team could find a goal before the final whistle.
The Germany-Poland result officially eliminated Ukraine from advancing from Group C after they suffered a surprising 2-0 defeat to Northern Ireland amid adverse weather in Lyon.
Northern Ireland claimed their first win in a major tournament since 1982 after Gareth McAuley headed home four minutes after half-time and substitute Niall McGinn added a second late on.
The first half saw relatively little action, but Northern Ireland were on top shortly after the break when McAuley leapt to perfectly meet Norwood's free kick and direct it past Andriy Pyatov.
Just as the game's tempo began to quicken, Czech referee Pavel Kralovec briefly halted the game as the rain turned to hail. Players left the pitch, but returned to action within two minutes.
Ukraine then pushed for the equaliser but Michael O'Neill's side sealed the three points deep into injury time when McGinn lashed home a shot on the rebound to seal the win.