diff --git a/docs/usage/bazel.md b/docs/usage/bazel.md
index c023c33a809d45eebcd1162ca7221541ff2f50e8..7dca329c749ca09c34394073a3d25686c541af3d 100644
--- a/docs/usage/bazel.md
+++ b/docs/usage/bazel.md
@@ -34,9 +34,9 @@ git_repository(
 
 New versions will be detected using the list of **tags** for that repository on GitHub.
 
-## http_archive
+## http_archive and http_file
 
-Renovate will update any `http_archive` declaration that contains the following:
+Renovate will update any `http_archive` or `http_file` declaration that contains the following:
 
 1.  name
 2.  url matching `https://github.com/<owner>/<repo>/releases/download/<semver>/<repo>.tar.gz`
diff --git a/lib/manager/bazel/__fixtures__/WORKSPACE1 b/lib/manager/bazel/__fixtures__/WORKSPACE1
index 3bb4aa57559d80a234f311ef8bd420862a2884a8..11078c7cc6f0960b2dede4387ed26bd58fceeccf 100644
--- a/lib/manager/bazel/__fixtures__/WORKSPACE1
+++ b/lib/manager/bazel/__fixtures__/WORKSPACE1
@@ -118,3 +118,10 @@ container_pull(
     repository = "distroless/python3-debian10",
     tag = "latest",
 )
+
+http_file(
+    name="distroless",
+    sha256="f7a6ecfb8174a1dd4713ea3b21621072996ada7e8f1a69e6ae7581be137c6dd6",
+    strip_prefix="distroless-446923c3756ceeaa75888f52fcbdd48bb314fbf8",
+    urls=["https://github.com/GoogleContainerTools/distroless/archive/446923c3756ceeaa75888f52fcbdd48bb314fbf8.tar.gz"]
+)
diff --git a/lib/manager/bazel/__snapshots__/extract.spec.ts.snap b/lib/manager/bazel/__snapshots__/extract.spec.ts.snap
index 3cb557bdd20a422227522756cfd563122e61f6fb..900851a2bd29b3257b9feb93cb6e2036e98393a7 100644
--- a/lib/manager/bazel/__snapshots__/extract.spec.ts.snap
+++ b/lib/manager/bazel/__snapshots__/extract.spec.ts.snap
@@ -169,6 +169,22 @@ Array [
     sha256=\\"f7a6ecfb8174a1dd4713ea3b21621072996ada7e8f1a69e6ae7581be137c6dd6\\",
     strip_prefix=\\"distroless-446923c3756ceeaa75888f52fcbdd48bb314fbf8\\",
     urls=[\\"https://github.com/GoogleContainerTools/distroless/archive/446923c3756ceeaa75888f52fcbdd48bb314fbf8.tar.gz\\"]
+)",
+    },
+    "repo": "GoogleContainerTools/distroless",
+  },
+  Object {
+    "currentDigest": "446923c3756ceeaa75888f52fcbdd48bb314fbf8",
+    "datasource": "github-releases",
+    "depName": "distroless",
+    "depType": "http_file",
+    "lookupName": "GoogleContainerTools/distroless",
+    "managerData": Object {
+      "def": "http_file(
+    name=\\"distroless\\",
+    sha256=\\"f7a6ecfb8174a1dd4713ea3b21621072996ada7e8f1a69e6ae7581be137c6dd6\\",
+    strip_prefix=\\"distroless-446923c3756ceeaa75888f52fcbdd48bb314fbf8\\",
+    urls=[\\"https://github.com/GoogleContainerTools/distroless/archive/446923c3756ceeaa75888f52fcbdd48bb314fbf8.tar.gz\\"]
 )",
     },
     "repo": "GoogleContainerTools/distroless",
diff --git a/lib/manager/bazel/__snapshots__/update.spec.ts.snap b/lib/manager/bazel/__snapshots__/update.spec.ts.snap
index a676661130c53e3aa449d194982377e405fecec2..c6081441937613ddfb1124e13fe53d03649e229d 100644
--- a/lib/manager/bazel/__snapshots__/update.spec.ts.snap
+++ b/lib/manager/bazel/__snapshots__/update.spec.ts.snap
@@ -121,6 +121,13 @@ container_pull(
     repository = \\"distroless/python3-debian10\\",
     tag = \\"latest\\",
 )
+
+http_file(
+    name=\\"distroless\\",
+    sha256=\\"f7a6ecfb8174a1dd4713ea3b21621072996ada7e8f1a69e6ae7581be137c6dd6\\",
+    strip_prefix=\\"distroless-446923c3756ceeaa75888f52fcbdd48bb314fbf8\\",
+    urls=[\\"https://github.com/GoogleContainerTools/distroless/archive/446923c3756ceeaa75888f52fcbdd48bb314fbf8.tar.gz\\"]
+)
 "
 `;
 
diff --git a/lib/manager/bazel/extract.ts b/lib/manager/bazel/extract.ts
index 49889d3c311701799a69a6eea0aba3ad2fbae5ef..ba8cedc9fbf9529d3fded560359a2bf8f4915f0d 100644
--- a/lib/manager/bazel/extract.ts
+++ b/lib/manager/bazel/extract.ts
@@ -79,6 +79,7 @@ function parseContent(content: string): string[] {
   return [
     'container_pull',
     'http_archive',
+    'http_file',
     'go_repository',
     'git_repository',
   ].reduce(
@@ -215,7 +216,7 @@ export function extractPackageFile(content: string): PackageFile | null {
       }
       deps.push(dep);
     } else if (
-      depType === 'http_archive' &&
+      (depType === 'http_archive' || depType === 'http_file') &&
       depName &&
       parseUrl(url) &&
       sha256
diff --git a/lib/manager/bazel/update.ts b/lib/manager/bazel/update.ts
index 8d58e1b1dbfcb63aee40fb378df40466799e8473..102c90429e6663bcbe0e416226081eb362a5600d 100644
--- a/lib/manager/bazel/update.ts
+++ b/lib/manager/bazel/update.ts
@@ -113,7 +113,10 @@ export async function updateDependency({
           `$1"${upgrade.newDigest}",  # ${upgrade.newValue}\n`
         );
       }
-    } else if (upgrade.depType === 'http_archive' && upgrade.newValue) {
+    } else if (
+      (upgrade.depType === 'http_archive' || upgrade.depType === 'http_file') &&
+      upgrade.newValue
+    ) {
       newDef = updateWithNewVersion(
         upgrade.managerData.def,
         upgrade.currentValue,
@@ -141,7 +144,10 @@ export async function updateDependency({
       }
       logger.debug({ hash }, 'Calculated hash');
       newDef = setNewHash(newDef, hash);
-    } else if (upgrade.depType === 'http_archive' && upgrade.newDigest) {
+    } else if (
+      (upgrade.depType === 'http_archive' || upgrade.depType === 'http_file') &&
+      upgrade.newDigest
+    ) {
       const [, shortRepo] = upgrade.repo.split('/');
       const url = `https://github.com/${upgrade.repo}/archive/${upgrade.newDigest}.tar.gz`;
       const hash = await getHashFromUrl(url);