Lando Norris did just enough to claim his maiden victory in the Monaco Grand Prix, holding off Charles Leclerc in the closing stages.