diff --git a/qa/Gemfile b/qa/Gemfile
index f5ea19d310bf7e2494dfd6774dfacb0eb3569ffa..c73b5d32523b148200d0d5f6972cb8755d50f61e 100644
--- a/qa/Gemfile
+++ b/qa/Gemfile
@@ -2,7 +2,7 @@
 
 source 'https://rubygems.org'
 
-gem 'gitlab-qa', '~> 14', '>= 14.21.0', require: 'gitlab/qa'
+gem 'gitlab-qa', '~> 15', require: 'gitlab/qa'
 gem 'gitlab_quality-test_tooling', '~> 2.4.0', require: false
 gem 'gitlab-utils', path: '../gems/gitlab-utils'
 gem 'activesupport', '~> 7.0.8.6' # This should stay in sync with the root's Gemfile
diff --git a/qa/Gemfile.lock b/qa/Gemfile.lock
index 43d1d72608ea43cb0aad3e4fedfa631906488ea1..efc69f43f06edf23a8dde7433859f258deefab32 100644
--- a/qa/Gemfile.lock
+++ b/qa/Gemfile.lock
@@ -118,7 +118,7 @@ GEM
     gitlab (4.19.0)
       httparty (~> 0.20)
       terminal-table (>= 1.5.1)
-    gitlab-qa (14.21.0)
+    gitlab-qa (15.0.0)
       activesupport (>= 6.1, < 7.2)
       ffi (~> 1.17)
       gitlab (~> 4.19)
@@ -366,7 +366,7 @@ DEPENDENCIES
   fog-core (= 2.1.0)
   fog-google (~> 1.24, >= 1.24.1)
   gitlab-cng!
-  gitlab-qa (~> 14, >= 14.21.0)
+  gitlab-qa (~> 15)
   gitlab-utils!
   gitlab_quality-test_tooling (~> 2.4.0)
   googleauth (~> 1.9.0)