diff --git a/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap b/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap
index fb5c50ae7e1b5e002b89d225f2cddeabfbc20dc9..c7397cf62a54321dbdb0b1204c711ee448cfe082 100644
--- a/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap
+++ b/lib/manager/npm/post-update/__snapshots__/yarn.spec.ts.snap
@@ -54,6 +54,7 @@ Array [
         "LC_ALL": "en_US",
         "NO_PROXY": "localhost",
         "PATH": "/tmp/path",
+        "YARN_CACHE_FOLDER": "/tmp/renovate/cache/yarn",
       },
       "maxBuffer": 10485760,
       "timeout": 900000,
@@ -73,6 +74,7 @@ Array [
         "LC_ALL": "en_US",
         "NO_PROXY": "localhost",
         "PATH": "/tmp/path",
+        "YARN_CACHE_FOLDER": "/tmp/renovate/cache/yarn",
       },
       "maxBuffer": 10485760,
       "timeout": 900000,
@@ -92,6 +94,7 @@ Array [
         "LC_ALL": "en_US",
         "NO_PROXY": "localhost",
         "PATH": "/tmp/path",
+        "YARN_CACHE_FOLDER": "/tmp/renovate/cache/yarn",
       },
       "maxBuffer": 10485760,
       "timeout": 900000,
@@ -111,6 +114,7 @@ Array [
         "LC_ALL": "en_US",
         "NO_PROXY": "localhost",
         "PATH": "/tmp/path",
+        "YARN_CACHE_FOLDER": "/tmp/renovate/cache/yarn",
       },
       "maxBuffer": 10485760,
       "timeout": 900000,
@@ -130,6 +134,7 @@ Array [
         "LC_ALL": "en_US",
         "NO_PROXY": "localhost",
         "PATH": "/tmp/path",
+        "YARN_CACHE_FOLDER": "/tmp/renovate/cache/yarn",
       },
       "maxBuffer": 10485760,
       "timeout": 900000,
@@ -156,6 +161,7 @@ Array [
         "PATH": "/tmp/path",
         "YARN_ENABLE_IMMUTABLE_INSTALLS": "false",
         "YARN_ENABLE_SCRIPTS": "0",
+        "YARN_GLOBAL_FOLDER": "/tmp/renovate/cache/berry",
         "YARN_HTTP_TIMEOUT": "100000",
       },
       "maxBuffer": 10485760,
@@ -183,6 +189,7 @@ Array [
         "PATH": "/tmp/path",
         "YARN_ENABLE_IMMUTABLE_INSTALLS": "false",
         "YARN_ENABLE_SCRIPTS": "0",
+        "YARN_GLOBAL_FOLDER": "/tmp/renovate/cache/berry",
         "YARN_HTTP_TIMEOUT": "100000",
       },
       "maxBuffer": 10485760,
@@ -205,6 +212,7 @@ Array [
         "PATH": "/tmp/path",
         "YARN_ENABLE_IMMUTABLE_INSTALLS": "false",
         "YARN_ENABLE_SCRIPTS": "0",
+        "YARN_GLOBAL_FOLDER": "/tmp/renovate/cache/berry",
         "YARN_HTTP_TIMEOUT": "100000",
       },
       "maxBuffer": 10485760,
diff --git a/lib/manager/npm/post-update/index.ts b/lib/manager/npm/post-update/index.ts
index 644740dc906eea264658f741aff2d58168bb47ef..af13df358ac673cfa694436801d2192ba5cd108a 100644
--- a/lib/manager/npm/post-update/index.ts
+++ b/lib/manager/npm/post-update/index.ts
@@ -441,6 +441,7 @@ export async function getAdditionalFiles(
       './others/yarn',
       'YARN_CACHE_FOLDER'
     ),
+    YARN_GLOBAL_FOLDER: await ensureCacheDir('./others/berry'),
     npm_config_store: await ensureCacheDir('./others/pnpm', 'npm_config_store'),
     NODE_ENV: 'dev',
   };
diff --git a/lib/manager/npm/post-update/yarn.spec.ts b/lib/manager/npm/post-update/yarn.spec.ts
index 62d0050384c34cd4171879e887a47922fdba70b2..87cfb3cfedc7c10ca3e568bec597abeab8f798d1 100644
--- a/lib/manager/npm/post-update/yarn.spec.ts
+++ b/lib/manager/npm/post-update/yarn.spec.ts
@@ -59,7 +59,14 @@ describe(getName(), () => {
         },
         postUpdateOptions: ['yarnDedupeFewer', 'yarnDedupeHighest'],
       };
-      const res = await yarnHelper.generateLockFile('some-dir', {}, config);
+      const res = await yarnHelper.generateLockFile(
+        'some-dir',
+        {
+          YARN_CACHE_FOLDER: '/tmp/renovate/cache/yarn',
+          YARN_GLOBAL_FOLDER: '/tmp/renovate/cache/berry',
+        },
+        config
+      );
       expect(fs.readFile).toHaveBeenCalledTimes(expectedFsCalls);
       expect(fs.remove).toHaveBeenCalledTimes(0);
       expect(res.lockFile).toEqual('package-lock-contents');
diff --git a/lib/manager/npm/post-update/yarn.ts b/lib/manager/npm/post-update/yarn.ts
index 5cd6b806943fe216e6ed2d49b08539c24a47c7d2..d4fa0b915038abd42587a66bd27f295731a52179 100644
--- a/lib/manager/npm/post-update/yarn.ts
+++ b/lib/manager/npm/post-update/yarn.ts
@@ -93,9 +93,11 @@ export async function generateLockFile(
     if (isYarn1) {
       cmdOptions +=
         '--ignore-engines --ignore-platform --network-timeout 100000';
+      extraEnv.YARN_CACHE_FOLDER = env.YARN_CACHE_FOLDER;
     } else {
       extraEnv.YARN_ENABLE_IMMUTABLE_INSTALLS = 'false';
       extraEnv.YARN_HTTP_TIMEOUT = '100000';
+      extraEnv.YARN_GLOBAL_FOLDER = env.YARN_GLOBAL_FOLDER;
     }
     if (!getAdminConfig().allowScripts || config.ignoreScripts) {
       if (isYarn1) {