diff --git a/README.md b/README.md
index 1620d4088a0fef00f39bed4950c5c5c67cce954d..0df4a57bf93d8118a0c7c8501f631e7045521913 100644
--- a/README.md
+++ b/README.md
@@ -140,7 +140,7 @@ Note: Upstart/SysV init based OS types are not supported.
   - [cri-o](http://cri-o.io/) v1.22 (experimental: see [CRI-O Note](docs/cri-o.md). Only on fedora, ubuntu and centos based OS)
 - Network Plugin
   - [cni-plugins](https://github.com/containernetworking/plugins) v1.1.1
-  - [calico](https://github.com/projectcalico/calico) v3.22.3
+  - [calico](https://github.com/projectcalico/calico) v3.23.1
   - [canal](https://github.com/projectcalico/canal) (given calico/flannel versions)
   - [cilium](https://github.com/cilium/cilium) v1.11.3
   - [flanneld](https://github.com/flannel-io/flannel) v0.17.0
diff --git a/roles/download/defaults/main.yml b/roles/download/defaults/main.yml
index ffc5899d3186550440f199bfb94c25131b4dec0b..576fc5c1eb8fff5309bac1a301783c66891adac2 100644
--- a/roles/download/defaults/main.yml
+++ b/roles/download/defaults/main.yml
@@ -95,7 +95,7 @@ github_image_repo: "ghcr.io"
 
 # TODO(mattymo): Move calico versions to roles/network_plugins/calico/defaults
 # after migration to container download
-calico_version: "v3.22.3"
+calico_version: "v3.23.1"
 calico_ctl_version: "{{ calico_version }}"
 calico_cni_version: "{{ calico_version }}"
 calico_flexvol_version: "{{ calico_version }}"
@@ -484,33 +484,23 @@ calicoctl_binary_checksums:
     v3.23.1: 0
     v3.22.3: 0
     v3.21.5: 0
-    v3.20.4: 0
-    v3.19.4: 0
   amd64:
     v3.23.1: e8fd04d776df5571917512560800bf77f3cdf36ca864c9cae966cb74d62ba4fe
     v3.22.3: a9e5f6bad4ad8c543f6bdcd21d3665cdd23edc780860d8e52a87881a7b3e203c
     v3.21.5: 98407b1c608fec0896004767c72cd4b6cf939976d67d3eca121f1f02137c92a7
-    v3.20.4: f61f3892712e4871fa57f6b9726cd42c36c333ca45bb178df48a15e64b5e8166
-    v3.19.4: 1b2ac701b05b77a14e0545a7d70915792ce833eea875f7eb7a18ded5a5878d5c
   arm64:
     v3.23.1: 30f7e118c21ecba445b4fbb27f7ac8bc0d1525ab3c776641433e3b1a3388c65b
     v3.22.3: 3a3e70828c020efd911181102d21cb4390b7b68669898bd40c0c69b64d11bb63
     v3.21.5: cc73e2b8f5b695b6ab06e7856cd516c1e9ec3e903abb510ef465ca6b530e18e6
-    v3.20.4: 4115ed46669d2bcfdcdcaec3f3a73345cd96932d8a0e9dde1523e6c02d45f8aa
-    v3.19.4: 50fd7085a6810efd88385df13ad2dfcc0078cd3813ad7bf56b2eb9f18fa7bad0
   ppc64le:
     v3.23.1: ef5e9b413fbe32da09023cdafc2c3977627dd64a0abcfc68398d3b3923cdd8a6
     v3.22.3: 7c2fe391f2a18eccff65c64bf93133dc5c58c7322cbd31ea207bbfef5b563947
     v3.21.5: 1ebb615b18f9c3fe2d41281d1bc9e3909048b56d2bc76c18431cbeb7a653d24d
-    v3.20.4: 63e2ca9d34c67bb758f478475a3e41735e520535d15f0663cfe00a53bc10af3c
-    v3.19.4: d2cbc2e987859564f618c749ce7cf01b754683f2a6fc4e9e873cdd756404b48d
 
 calico_crds_archive_checksums:
   v3.23.1: a1754ae4bb158e3b46ba3fb326d8038d54cd0dc2c5c8527eadf2b0a6cf8ef2e3
   v3.22.3: 55ece01da00f82c62619b82b6bfd6442a021acc6fd915a753735e6ebceabaa21
   v3.21.5: ffbbaa2bc32b01bf160828d2cfd4504d83c69cb1f74c0028349181ed61bad635
-  v3.20.4: 47d749ee79732f320669350ef8a7e3ca16b67ad6c97c2e0da8278d6c2659fce3
-  v3.19.4: 8f271c23442ca20d54a598d046312af0144e8bc53a14809945ce1dfc0cb1b7d4
 
 krew_archive_checksums:
   linux:
diff --git a/roles/network_plugin/calico/templates/calico-apiserver.yml.j2 b/roles/network_plugin/calico/templates/calico-apiserver.yml.j2
index 6a7710952e38eaa6349c10e3458afce39152676e..2ee15b4c830d0828dd3fb826d3af5e9ccb0e9c74 100644
--- a/roles/network_plugin/calico/templates/calico-apiserver.yml.j2
+++ b/roles/network_plugin/calico/templates/calico-apiserver.yml.j2
@@ -59,7 +59,6 @@ spec:
       containers:
       - args:
         - --secure-port=5443
-        - -v=5
         env:
         - name: DATASTORE_TYPE
           value: kubernetes