diff --git a/build-tools-internal/version.properties b/build-tools-internal/version.properties
index 53b05daa77346..24f0cca082b2d 100644
--- a/build-tools-internal/version.properties
+++ b/build-tools-internal/version.properties
@@ -1,5 +1,5 @@
elasticsearch = 9.3.0
-lucene = 10.3.0
+lucene = 10.3.1
bundled_jdk_vendor = openjdk
bundled_jdk = 25+36@bd75d5f9689641da8e1daabeccb5528b
diff --git a/docs/Versions.asciidoc b/docs/Versions.asciidoc
index aa02432b42b2a..f2cebed62a02e 100644
--- a/docs/Versions.asciidoc
+++ b/docs/Versions.asciidoc
@@ -1,8 +1,8 @@
include::{docs-root}/shared/versions/stack/{source_branch}.asciidoc[]
-:lucene_version: 10.3.0
-:lucene_version_path: 10_3_0
+:lucene_version: 10.3.1
+:lucene_version_path: 10_3_1
:jdk: 11.0.2
:jdk_major: 11
:build_type: tar
diff --git a/docs/changelog/136030.yaml b/docs/changelog/136030.yaml
new file mode 100644
index 0000000000000..86320697bdf4a
--- /dev/null
+++ b/docs/changelog/136030.yaml
@@ -0,0 +1,5 @@
+pr: 136030
+summary: Update to lucene 10.3.1
+area: Search
+type: feature
+issues: []
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 5b5c9aea68ac3..14ebae42bfdfb 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -3185,129 +3185,129 @@
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/server/src/main/java/org/elasticsearch/index/IndexVersions.java b/server/src/main/java/org/elasticsearch/index/IndexVersions.java
index 15e04bca1a044..1a9383591cb5d 100644
--- a/server/src/main/java/org/elasticsearch/index/IndexVersions.java
+++ b/server/src/main/java/org/elasticsearch/index/IndexVersions.java
@@ -187,6 +187,7 @@ private static Version parseUnchecked(String version) {
public static final IndexVersion UPGRADE_TO_LUCENE_10_3_0 = def(9_038_0_00, Version.LUCENE_10_3_0);
public static final IndexVersion IGNORED_SOURCE_COALESCED_ENTRIES = def(9_039_0_00, Version.LUCENE_10_3_0);
public static final IndexVersion KEYWORD_MULTI_FIELDS_NOT_STORED_WHEN_IGNORED = def(9_040_0_00, Version.LUCENE_10_3_0);
+ public static final IndexVersion UPGRADE_TO_LUCENE_10_3_1 = def(9_041_0_00, Version.LUCENE_10_3_1);
/*
* STOP! READ THIS FIRST! No, really,