diff --git a/lib/manager/gradle/build-gradle.ts b/lib/manager/gradle/build-gradle.ts
index d3f406b9841022db0d24fd5c4bbe026833c345aa..0bd1f5ed5c359893bc219d2f24d1a571fd20a670 100644
--- a/lib/manager/gradle/build-gradle.ts
+++ b/lib/manager/gradle/build-gradle.ts
@@ -30,6 +30,7 @@ export function updateGradleVersion(
   if (dependency) {
     const updateFunctions: UpdateFunction[] = [
       updateVersionStringFormat,
+      updatePluginVersionStringFormat,
       updateVersionMapFormat,
       updateVersionMapVariableFormat,
       updateVersionStringVariableFormat,
@@ -94,6 +95,18 @@ function updateVersionStringFormat(
   return null;
 }
 
+function updatePluginVersionStringFormat(
+  dependency: GradleDependency,
+  buildGradleContent: string,
+  newVersion: string
+) {
+  const regex = pluginStringVersionFormatMatch(dependency);
+  if (buildGradleContent.match(regex)) {
+    return buildGradleContent.replace(regex, `$1${newVersion}$2`);
+  }
+  return null;
+}
+
 function updateVersionMapFormat(
   dependency: GradleDependency,
   buildGradleContent: string,
@@ -196,6 +209,12 @@ function moduleStringVersionFormatMatch(dependency: GradleDependency) {
   );
 }
 
+function pluginStringVersionFormatMatch(dependency: GradleDependency) {
+  return new RegExp(
+    `(id\\s+["']${dependency.group}["']\\s+version\\s+["'])[^$].*?(["'])`
+  );
+}
+
 function moduleMapVersionFormatMatch(dependency: GradleDependency) {
   // prettier-ignore
   return new RegExp(
diff --git a/lib/manager/gradle/gradle-updates-report.ts b/lib/manager/gradle/gradle-updates-report.ts
index 1dcf9da855ec0fd24996ac6ee472db8d608e8a93..d83000462f226b39e67be133e066bdcafa2ca1d7 100644
--- a/lib/manager/gradle/gradle-updates-report.ts
+++ b/lib/manager/gradle/gradle-updates-report.ts
@@ -44,7 +44,7 @@ allprojects {
            .collect { "$it.url" }
            .findAll { !it.startsWith('file:') }
         project.repositories = repos
-        def deps = configurations
+        def deps = (buildscript.configurations + configurations)
           .collect { it.dependencies }
           .flatten()
           .findAll { it instanceof DefaultExternalModuleDependency }
diff --git a/test/manager/gradle/index.spec.ts b/test/manager/gradle/index.spec.ts
index f2f27b37ab6cbf679a416c3035bdf6dca82e9b69..81a2ca3fe3f8f844f8d12442ae4d96d8d6a1dfac 100644
--- a/test/manager/gradle/index.spec.ts
+++ b/test/manager/gradle/index.spec.ts
@@ -153,7 +153,7 @@ describe('manager/gradle', () => {
   });
 
   describe('updateDependency', () => {
-    it('should update an existing dependency', () => {
+    it('should update an existing module dependency', () => {
       const buildGradleContent = fsReal.readFileSync(
         'test/datasource/gradle/_fixtures/build.gradle.example1',
         'utf8'
@@ -172,5 +172,34 @@ describe('manager/gradle', () => {
       expect(buildGradleContentUpdated).toMatch('cglib:cglib-nodep:3.2.8');
       expect(buildGradleContentUpdated).not.toMatch('cglib:cglib-nodep:3.1');
     });
+
+    it('should update an existing plugin dependency', () => {
+      const buildGradleContent = `
+        plugins {
+            id "com.github.ben-manes.versions" version "0.20.0"
+        }
+        `;
+      const upgrade = {
+        depGroup: 'com.github.ben-manes.versions',
+        name: 'com.github.ben-manes.versions.gradle.plugin',
+        version: '0.20.0',
+        newValue: '0.21.0',
+      };
+      const buildGradleContentUpdated = manager.updateDependency(
+        buildGradleContent,
+        upgrade
+      );
+
+      expect(buildGradleContent).not.toMatch(
+        'id "com.github.ben-manes.versions" version "0.21.0"'
+      );
+
+      expect(buildGradleContentUpdated).toMatch(
+        'id "com.github.ben-manes.versions" version "0.21.0"'
+      );
+      expect(buildGradleContentUpdated).not.toMatch(
+        'id "com.github.ben-manes.versions" version "0.20.0"'
+      );
+    });
   });
 });