diff --git a/inventory/sample/group_vars/k8s-cluster/k8s-net-weave.yml b/inventory/sample/group_vars/k8s-cluster/k8s-net-weave.yml
index f8c8bba33278f92f8e4cc163a1f13d25294ad7fd..ed6c3c08e6d9e864a9f60bd3fe4907c5089c25a4 100644
--- a/inventory/sample/group_vars/k8s-cluster/k8s-net-weave.yml
+++ b/inventory/sample/group_vars/k8s-cluster/k8s-net-weave.yml
@@ -53,6 +53,9 @@
 # only with Weave IPAM (default).
 # weave_no_masq_local: true
 
+# set to nft to use nftables backend for iptables (default is iptables)
+# weave_iptables_backend: iptables
+
 # Extra variables that passing to launch.sh, useful for enabling seed mode, see
 # https://www.weave.works/docs/net/latest/tasks/ipam/ipam/
 # weave_extra_args: ~
diff --git a/roles/network_plugin/weave/defaults/main.yml b/roles/network_plugin/weave/defaults/main.yml
index ee636e56f42f44fbef798cde8b44d4933569cdaf..b1c79a6db8c956892d344f3dc9bd25483a2378a4 100644
--- a/roles/network_plugin/weave/defaults/main.yml
+++ b/roles/network_plugin/weave/defaults/main.yml
@@ -53,6 +53,9 @@ weave_mtu: 1376
 # only with Weave IPAM (default).
 weave_no_masq_local: true
 
+# set to nft to use nftables backend for iptables (default is iptables)
+weave_iptables_backend: ~
+
 # Extra variables that passing to launch.sh, useful for enabling seed mode, see
 # https://www.weave.works/docs/net/latest/tasks/ipam/ipam/
 weave_extra_args: ~
diff --git a/roles/network_plugin/weave/templates/weave-net.yml.j2 b/roles/network_plugin/weave/templates/weave-net.yml.j2
index 28540bcfa5e6aa3d4fc19a7b22f8baa3da36d6e9..04bc8e4317f4c24ada483db19cf1720be66d2479 100644
--- a/roles/network_plugin/weave/templates/weave-net.yml.j2
+++ b/roles/network_plugin/weave/templates/weave-net.yml.j2
@@ -163,6 +163,10 @@ items:
 {% if weave_status_addr %}
                 - name: WEAVE_STATUS_ADDR
                   value: "{{ weave_status_addr }}"
+{% endif %}
+{% if weave_iptables_backend %}
+                - name: IPTABLES_BACKEND
+                  value: "{{ weave_iptables_backend }}"
 {% endif %}
                 - name: WEAVE_MTU
                   value: "{{ weave_mtu | int }}"