Charles Leclerc took his first Formula 1 win in nearly two years as a chaotic British Grand Prix ended behind the safety car and standings leader Kimi Antonelli missed the points again with a damaged car.