diff --git a/lib/modules/datasource/dart/__snapshots__/index.spec.ts.snap b/lib/modules/datasource/dart/__snapshots__/index.spec.ts.snap
index 63f14b0018e2bb75c2e9765150197c53855f99b3..f3a5181107ddd308e6e5ad2112c60c3d9a110193 100644
--- a/lib/modules/datasource/dart/__snapshots__/index.spec.ts.snap
+++ b/lib/modules/datasource/dart/__snapshots__/index.spec.ts.snap
@@ -3,7 +3,7 @@
 exports[`modules/datasource/dart/index getReleases processes real data 1`] = `
 {
   "homepage": "https://github.com/flutter/plugins/tree/master/packages/shared_preferences/shared_preferences",
-  "registryUrl": "https://pub.dartlang.org/",
+  "registryUrl": "https://pub.dartlang.org",
   "releases": [
     {
       "releaseTimestamp": "2017-05-09T18:25:24.268Z",
diff --git a/lib/modules/datasource/dart/index.ts b/lib/modules/datasource/dart/index.ts
index f3069a9382ad0c04293b7f8f9354aa7852421e09..30da6a53c23e5c3d27c9a922a69d23a6a025635b 100644
--- a/lib/modules/datasource/dart/index.ts
+++ b/lib/modules/datasource/dart/index.ts
@@ -1,4 +1,5 @@
 import type { HttpResponse } from '../../../util/http/types';
+import { ensureTrailingSlash } from '../../../util/url';
 import { Datasource } from '../datasource';
 import type { GetReleasesConfig, ReleaseResult } from '../types';
 import type { DartResult } from './types';
@@ -10,7 +11,7 @@ export class DartDatasource extends Datasource {
     super(DartDatasource.id);
   }
 
-  override readonly customRegistrySupport = false;
+  override readonly customRegistrySupport = true;
 
   override readonly defaultRegistryUrls = ['https://pub.dartlang.org/'];
 
@@ -23,7 +24,9 @@ export class DartDatasource extends Datasource {
       return null;
     }
     let result: ReleaseResult | null = null;
-    const pkgUrl = `${registryUrl}api/packages/${packageName}`;
+    const pkgUrl = `${ensureTrailingSlash(
+      registryUrl,
+    )}api/packages/${packageName}`;
 
     let raw: HttpResponse<DartResult> | null = null;
     try {