How to reset matrix field to have NO blocks in plugin?
Ok I'm a dummy. A matrix block is an element like an Entry, Asset, etc. So I need to delete it like an element instead of treat it like an array:

$blocks = $entry-&gt;myMatrixField-&gt;all();

if (! empty($blocks)) {

    $elementsService = Craft::$app-&gt;getElements();

    foreach ($blocks as $block) {
        /* @var \craft\elements\MatrixBlock $block */

        $elementsService-&gt;deleteElement($block);
    }
}