diff --git a/playbooks/zuul/upgrade-review.yaml b/playbooks/zuul/upgrade-review.yaml
index ff7d613e28..85dbd43828 100644
--- a/playbooks/zuul/upgrade-review.yaml
+++ b/playbooks/zuul/upgrade-review.yaml
@@ -7,7 +7,7 @@
 - name: Ensure initial gerrit state without starting Gerrit
   import_playbook: ../service-review.yaml
   vars:
-    gerrit_container_image: docker.io/opendevorg/gerrit:3.8
+    gerrit_container_image: docker.io/opendevorg/gerrit:3.9
     gerrit_run_init: false
     gerrit_run_reindex: false
     gerrit_run_compose_up: false
@@ -35,7 +35,7 @@
 - name: Start Gerrit on the old version of Gerrit
   import_playbook: ../service-review.yaml
   vars:
-    gerrit_container_image: docker.io/opendevorg/gerrit:3.8
+    gerrit_container_image: docker.io/opendevorg/gerrit:3.9
 
 - hosts: "review:!disabled"
   name: "Wait for gerrit to be up and running"
@@ -84,9 +84,9 @@
 - name: Perform gerrit upgrade
   import_playbook: ../service-review.yaml
   vars:
-    gerrit_container_image: docker.io/opendevorg/gerrit:3.9
+    gerrit_container_image: docker.io/opendevorg/gerrit:3.10
     gerrit_run_init: true
-    # Gerrit 3.8 -> 3.9 upgrade does not require an offline reindex
+    # Gerrit 3.9 -> 3.10 upgrade does not require an offline reindex
     gerrit_run_reindex: false
 
 - hosts: "review:!disabled"
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 1ba17911b9..694e9afee8 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -73,15 +73,13 @@
               - name: opendev-buildset-registry
               - name: system-config-build-image-gerrit-3.10
                 soft: true
-        # Temporarily disabled until we have 3.10 images and
-        # perform a 3.9 -> 3.10 upgrade test.
-        #- system-config-upgrade-review:
-        #    dependencies:
-        #      - name: opendev-buildset-registry
-        #      - name: system-config-build-image-gerrit-3.8
-        #        soft: true
-        #      - name: system-config-build-image-gerrit-3.9
-        #        soft: true
+        - system-config-upgrade-review:
+            dependencies:
+              - name: opendev-buildset-registry
+              - name: system-config-build-image-gerrit-3.9
+                soft: true
+              - name: system-config-build-image-gerrit-3.10
+                soft: true
         - system-config-build-image-refstack
         - system-config-run-refstack:
             dependencies:
diff --git a/zuul.d/system-config-run.yaml b/zuul.d/system-config-run.yaml
index 89912b88fa..d39b75cd96 100644
--- a/zuul.d/system-config-run.yaml
+++ b/zuul.d/system-config-run.yaml
@@ -1101,22 +1101,20 @@
     vars:
       zuul_test_gerrit_version: '3.10'
 
-# Temporarily disabled until we have 3.10 images and
-# perform a 3.9 -> 3.10 upgrade test.
-#- job:
-#    name: system-config-upgrade-review
-#    parent: system-config-run-review-base
-#    description: |
-#      Test we can upgrade a gerrit 3.8 to 3.9
-#    requires:
-#      - gerrit-3.8-container-image
-#      - gerrit-3.9-container-image
-#    vars:
-#      run_playbooks:
-#        - playbooks/letsencrypt.yaml
-#        - playbooks/zuul/upgrade-review.yaml
-#      run_test_playbook: playbooks/zuul/test-review.yaml
-#      zuul_test_gerrit_version: '3.8'
+- job:
+    name: system-config-upgrade-review
+    parent: system-config-run-review-base
+    description: |
+      Test we can upgrade a gerrit 3.9 to 3.10
+    requires:
+      - gerrit-3.9-container-image
+      - gerrit-3.10-container-image
+    vars:
+      run_playbooks:
+        - playbooks/letsencrypt.yaml
+        - playbooks/zuul/upgrade-review.yaml
+      run_test_playbook: playbooks/zuul/test-review.yaml
+      zuul_test_gerrit_version: '3.9'
 
 - job:
     name: system-config-run-static