diff --git a/lib/modules/manager/gradle/extract/catalog.spec.ts b/lib/modules/manager/gradle/extract/catalog.spec.ts
index 6f470a04b77c07f471fe201208effc2de4f86ebf..41463cf24c76dbf3f1ec1dd461dac267702ebcb9 100644
--- a/lib/modules/manager/gradle/extract/catalog.spec.ts
+++ b/lib/modules/manager/gradle/extract/catalog.spec.ts
@@ -191,4 +191,44 @@ describe('modules/manager/gradle/extract/catalog', () => {
       },
     ]);
   });
+
+  it('supports templated toml', () => {
+    const input = codeBlock`
+      [versions]
+      # Releases: http://someWebsite.com/junit/1.4.9
+      mocha-junit-reporter = "2.0.2"
+      {%- if cookiecutter.service_uses_junit %}
+      # JUnit 1.4.9 is awesome!
+      junit = "1.4.9"
+      {%- endif %}
+
+      [libraries]
+      {%- if cookiecutter.service_uses_junit %}
+      junit-legacy = { module = "junit:junit", version.ref = "junit" }
+      {%- endif %}
+      mocha-junit = { module = "mocha-junit:mocha-junit", version.ref = "mocha.junit.reporter" }
+    `;
+    const res = parseCatalog('gradle/libs.versions.toml', input);
+
+    expect(res).toStrictEqual([
+      {
+        depName: 'junit:junit',
+        sharedVariableName: 'junit',
+        currentValue: '1.4.9',
+        managerData: {
+          fileReplacePosition: 166,
+          packageFile: 'gradle/libs.versions.toml',
+        },
+      },
+      {
+        depName: 'mocha-junit:mocha-junit',
+        sharedVariableName: 'mocha.junit.reporter',
+        currentValue: '2.0.2',
+        managerData: {
+          fileReplacePosition: 82,
+          packageFile: 'gradle/libs.versions.toml',
+        },
+      },
+    ]);
+  });
 });
diff --git a/lib/modules/manager/gradle/extract/catalog.ts b/lib/modules/manager/gradle/extract/catalog.ts
index 36a21a5b80639e0cdfb7c8746594c62bdd4fa3d8..b4b19174222f6a4ab4a5d123d11c67f90ae10fc1 100644
--- a/lib/modules/manager/gradle/extract/catalog.ts
+++ b/lib/modules/manager/gradle/extract/catalog.ts
@@ -3,7 +3,7 @@ import deepmerge from 'deepmerge';
 import type { SkipReason } from '../../../../types';
 import { hasKey } from '../../../../util/object';
 import { escapeRegExp, regEx } from '../../../../util/regex';
-import { parse as parseToml } from '../../../../util/toml';
+import { massage, parse as parseToml } from '../../../../util/toml';
 import type { PackageDependency } from '../../types';
 import type {
   GradleCatalog,
@@ -246,7 +246,7 @@ export function parseCatalog(
   packageFile: string,
   content: string,
 ): PackageDependency<GradleManagerData>[] {
-  const tomlContent = parseToml(content) as GradleCatalog;
+  const tomlContent = parseToml(massage(content)) as GradleCatalog;
   const versions = tomlContent.versions ?? {};
   const libs = tomlContent.libraries ?? {};
   const libStartIndex = content.indexOf('libraries');