Charles Leclerc won the British Grand Prix with George Russell second and Lewis Hamilton third.