diff -Nuar a/vendor/magento/module-catalog/view/frontend/templates/product/list.phtml b/vendor/magento/module-catalog/view/frontend/templates/product/list.phtml
index 461f4ad0d99..4c5caf0bea1 100644
--- a/vendor/magento/module-catalog/view/frontend/templates/product/list.phtml
+++ b/vendor/magento/module-catalog/view/frontend/templates/product/list.phtml
@@ -93,7 +93,8 @@ $_helper = $this->helper(Magento\Catalog\Helper\Output::class);
                                             <?= $block->getBlockHtml('formkey') ?>
                                             <button type="submit"
                                                     title="<?= $block->escapeHtmlAttr(__('Add to Cart')) ?>"
-                                                    class="action tocart primary">
+                                                    class="action tocart primary"
+                                                    disabled>
                                                 <span><?= $block->escapeHtml(__('Add to Cart')) ?></span>
                                             </button>
                                         </form>
diff -Nuar a/vendor/magento/module-catalog/view/frontend/web/js/catalog-add-to-cart.js b/vendor/magento/module-catalog/view/frontend/web/js/catalog-add-to-cart.js
index 382b4ef9853..84b67ac5fd4 100644
--- a/vendor/magento/module-catalog/view/frontend/web/js/catalog-add-to-cart.js
+++ b/vendor/magento/module-catalog/view/frontend/web/js/catalog-add-to-cart.js
@@ -32,6 +32,7 @@ define([
             if (this.options.bindSubmit) {
                 this._bindSubmit();
             }
+            $(this.options.addToCartButtonSelector).attr('disabled', false);
         },
 
         /**
