diff --git a/lib/modules/manager/asdf/extract.spec.ts b/lib/modules/manager/asdf/extract.spec.ts
index 950c3f296fb55e24628b6677665b683881edcdb7..3c0a4273934a7587bbf245c802596d14a247afbe 100644
--- a/lib/modules/manager/asdf/extract.spec.ts
+++ b/lib/modules/manager/asdf/extract.spec.ts
@@ -92,6 +92,7 @@ pulumi 3.57.1
 python 3.11.0
 ruby 3.1.2
 rust 1.64.0
+sbt 1.9.7
 scala 3.2.1
 shellcheck 0.8.0
 shfmt 3.5.1
@@ -432,6 +433,13 @@ dummy 1.2.3
             packageName: 'rust-lang/rust',
             depName: 'rust',
           },
+          {
+            currentValue: '1.9.7',
+            datasource: 'github-releases',
+            packageName: 'sbt/sbt',
+            depName: 'sbt',
+            extractVersion: '^v(?<version>\\S+)',
+          },
           {
             currentValue: '3.2.1',
             datasource: 'github-tags',
diff --git a/lib/modules/manager/asdf/upgradeable-tooling.ts b/lib/modules/manager/asdf/upgradeable-tooling.ts
index 1c6f2f70cc0f7e7a3c0fa4eb4ab58e7eba5a41d7..31d726a69cb75b176d679d77c7966a49e40eeca6 100644
--- a/lib/modules/manager/asdf/upgradeable-tooling.ts
+++ b/lib/modules/manager/asdf/upgradeable-tooling.ts
@@ -452,6 +452,14 @@ export const upgradeableTooling: Record<string, ToolingDefinition> = {
       packageName: 'rust-lang/rust',
     },
   },
+  sbt: {
+    asdfPluginUrl: 'https://github.com/bram2000/asdf-sbt.git',
+    config: {
+      datasource: GithubReleasesDatasource.id,
+      packageName: 'sbt/sbt',
+      extractVersion: '^v(?<version>\\S+)',
+    },
+  },
   scala: {
     asdfPluginUrl: 'https://github.com/asdf-community/asdf-scala',
     config: (version) => {