diff --git a/lib/modules/manager/asdf/extract.spec.ts b/lib/modules/manager/asdf/extract.spec.ts
index 4db8ccc25a6e0c4b02899e2fecbfdbc9234f1ebb..322bfe359496a579584db3db391430631aac0613 100644
--- a/lib/modules/manager/asdf/extract.spec.ts
+++ b/lib/modules/manager/asdf/extract.spec.ts
@@ -74,6 +74,7 @@ nodejs 18.12.0
 ocaml 4.14.0
 perl 5.37.5
 php 8.1.12
+pnpm 7.26.2
 python 3.11.0
 ruby 3.1.2
 rust 1.64.0
@@ -295,6 +296,13 @@ dummy 1.2.3
             depName: 'php',
             extractVersion: '^php-(?<version>\\S+)',
           },
+          {
+            currentValue: '7.26.2',
+            datasource: 'npm',
+            packageName: 'pnpm',
+            depName: 'pnpm',
+            versioning: 'semver',
+          },
           {
             currentValue: '3.11.0',
             datasource: 'github-tags',
diff --git a/lib/modules/manager/asdf/index.ts b/lib/modules/manager/asdf/index.ts
index b8e647affde26b31c86e58ccee2e5fc19dca2471..f488800413c1583254dc8ba4d0d33376cc2d7cd6 100644
--- a/lib/modules/manager/asdf/index.ts
+++ b/lib/modules/manager/asdf/index.ts
@@ -4,6 +4,7 @@ import { GithubTagsDatasource } from '../../datasource/github-tags';
 import { HexpmBobDatasource } from '../../datasource/hexpm-bob';
 import { JavaVersionDatasource } from '../../datasource/java-version';
 import { NodeDatasource } from '../../datasource/node';
+import { NpmDatasource } from '../../datasource/npm';
 import { RubyVersionDatasource } from '../../datasource/ruby-version';
 
 export { extractPackageFile } from './extract';
@@ -21,5 +22,6 @@ export const supportedDatasources = [
   GithubTagsDatasource.id,
   HexpmBobDatasource.id,
   NodeDatasource.id,
+  NpmDatasource.id,
   RubyVersionDatasource.id,
 ];
diff --git a/lib/modules/manager/asdf/upgradeable-tooling.ts b/lib/modules/manager/asdf/upgradeable-tooling.ts
index 3d85626c9f0039c28375a56d69cd396d574dfd6b..78051363c59bea310e2dbe81809230d697a6059b 100644
--- a/lib/modules/manager/asdf/upgradeable-tooling.ts
+++ b/lib/modules/manager/asdf/upgradeable-tooling.ts
@@ -4,6 +4,7 @@ import { GithubTagsDatasource } from '../../datasource/github-tags';
 import { HexpmBobDatasource } from '../../datasource/hexpm-bob';
 import { JavaVersionDatasource } from '../../datasource/java-version';
 import { NodeDatasource } from '../../datasource/node';
+import { NpmDatasource } from '../../datasource/npm';
 import { RubyVersionDatasource } from '../../datasource/ruby-version';
 import * as regexVersioning from '../../versioning/regex';
 import * as semverVersioning from '../../versioning/semver';
@@ -277,6 +278,14 @@ export const upgradeableTooling: Record<string, ToolingDefinition> = {
       extractVersion: '^php-(?<version>\\S+)',
     },
   },
+  pnpm: {
+    asdfPluginUrl: 'https://github.com/jonathanmorley/asdf-pnpm',
+    config: {
+      datasource: NpmDatasource.id,
+      packageName: 'pnpm',
+      versioning: semverVersioning.id,
+    },
+  },
   python: {
     asdfPluginUrl: 'https://github.com/danhper/asdf-python',
     config: {