diff --git a/prdoc/pr_5174.prdoc b/prdoc/pr_5174.prdoc
new file mode 100644
index 0000000000000000000000000000000000000000..2c7a6983377cf9dea5883029b3b5ef8f81feb778
--- /dev/null
+++ b/prdoc/pr_5174.prdoc
@@ -0,0 +1,10 @@
+title: "Wasm-builder: Set the `resolver` version to `2`"
+
+doc:
+  - audience: Runtime Dev
+    description: |
+      Set the `resolver` version to `2` in the generated `Cargo.toml`.
+
+crates:
+  - name: substrate-wasm-builder
+    bump: patch
diff --git a/substrate/utils/wasm-builder/src/wasm_project.rs b/substrate/utils/wasm-builder/src/wasm_project.rs
index 63887389fb1efefab2aefe2ad7fce12078f7a4ac..a6eda078fde0fa6192e56f605c4af058208976e4 100644
--- a/substrate/utils/wasm-builder/src/wasm_project.rs
+++ b/substrate/utils/wasm-builder/src/wasm_project.rs
@@ -507,7 +507,10 @@ fn create_project_cargo_toml(
 
 	wasm_workspace_toml.insert("dependencies".into(), dependencies.into());
 
-	wasm_workspace_toml.insert("workspace".into(), Table::new().into());
+	let mut workspace = Table::new();
+	workspace.insert("resolver".into(), "2".into());
+
+	wasm_workspace_toml.insert("workspace".into(), workspace.into());
 
 	if target == RuntimeTarget::Riscv {
 		// This dependency currently doesn't compile under RISC-V, so patch it with our own fork.