diff --git a/sdk/cosmos/azure-cosmos/tests/test_data/partition_key_hash_baseline/PartitionKeyHashBaselineTest.Lists.xml b/sdk/cosmos/azure-cosmos/tests/test_data/partition_key_hash_baseline/PartitionKeyHashBaselineTest.Lists.xml
new file mode 100644
index 000000000000..0a70aed1a300
--- /dev/null
+++ b/sdk/cosmos/azure-cosmos/tests/test_data/partition_key_hash_baseline/PartitionKeyHashBaselineTest.Lists.xml
@@ -0,0 +1,32 @@
+
+
+
+ 1 Path List
+ ["/path1"]
+
+
+
+
+
+ 2 Path List
+ ["/path1","/path2"]
+
+
+
+
+
+ 3 Path List
+ ["/path1","/path2","/path3"]
+
+
+
+
diff --git a/sdk/cosmos/azure-cosmos/tests/test_data/partition_key_hash_baseline/PartitionKeyHashBaselineTest.Numbers.xml b/sdk/cosmos/azure-cosmos/tests/test_data/partition_key_hash_baseline/PartitionKeyHashBaselineTest.Numbers.xml
new file mode 100644
index 000000000000..9c06566a13cf
--- /dev/null
+++ b/sdk/cosmos/azure-cosmos/tests/test_data/partition_key_hash_baseline/PartitionKeyHashBaselineTest.Numbers.xml
@@ -0,0 +1,162 @@
+
+
+
+ positive zero
+ 0
+
+
+
+
+
+ negative zero
+ -0
+
+
+
+
+
+ positive number
+ 1
+
+
+
+
+
+ negative number
+ -1
+
+
+
+
+
+ Epsilon
+ 5E-324
+
+
+
+
+
+ MaxValue
+ 1.7976931348623157E+308
+
+
+
+
+
+ MinValue
+ -1.7976931348623157E+308
+
+
+
+
+
+ NaN
+ "NaN"
+
+
+
+
+
+ long NegativeInfinity
+ "-Infinity"
+
+
+
+
+
+ long PositiveInfinity
+ "Infinity"
+
+
+
+
+
+ long MaxValue
+ 9223372036854775807
+
+
+
+
+
+ long MaxValue minus 1
+ 9223372036854775806
+
+
+
+
+
+ long MinValue
+ -9223372036854775808
+
+
+
+
+
+ MaxSafeInteger
+ 9007199254740991
+
+
+
+
+
+ MaxSafeInteger Minus 1
+ 9007199254740990
+
+
+
+
+
+ MaxSafeInteger Plus 1
+ 9007199254740992
+
+
+
+
diff --git a/sdk/cosmos/azure-cosmos/tests/test_data/partition_key_hash_baseline/PartitionKeyHashBaselineTest.Singletons.xml b/sdk/cosmos/azure-cosmos/tests/test_data/partition_key_hash_baseline/PartitionKeyHashBaselineTest.Singletons.xml
new file mode 100644
index 000000000000..d05b53598e89
--- /dev/null
+++ b/sdk/cosmos/azure-cosmos/tests/test_data/partition_key_hash_baseline/PartitionKeyHashBaselineTest.Singletons.xml
@@ -0,0 +1,42 @@
+
+
+
+ Undefined
+ UNDEFINED
+
+
+
+
+
+ null
+ null
+
+
+
+
+
+ true
+ true
+
+
+
+
+
+ false
+ false
+
+
+
+
diff --git a/sdk/cosmos/azure-cosmos/tests/test_data/partition_key_hash_baseline/PartitionKeyHashBaselineTest.Strings.xml b/sdk/cosmos/azure-cosmos/tests/test_data/partition_key_hash_baseline/PartitionKeyHashBaselineTest.Strings.xml
new file mode 100644
index 000000000000..27ee685cad5b
--- /dev/null
+++ b/sdk/cosmos/azure-cosmos/tests/test_data/partition_key_hash_baseline/PartitionKeyHashBaselineTest.Strings.xml
@@ -0,0 +1,62 @@
+
+
+
+ Empty String
+ ""
+
+
+
+
+
+ short string
+ "asdf"
+
+
+
+
+
+ 99 byte string
+ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+
+
+
+
+
+ 100 byte string
+ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+
+
+
+
+
+ 101 byte string
+ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+
+
+
+
+
+ 2kb byte string
+ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+
+
+
+
diff --git a/sdk/cosmos/azure-cosmos/tests/test_partition_key_hash_baseline.py b/sdk/cosmos/azure-cosmos/tests/test_partition_key_hash_baseline.py
new file mode 100644
index 000000000000..84eadcfda628
--- /dev/null
+++ b/sdk/cosmos/azure-cosmos/tests/test_partition_key_hash_baseline.py
@@ -0,0 +1,264 @@
+# The MIT License (MIT)
+# Copyright (c) Microsoft Corporation. All rights reserved.
+
+"""Tests validating Python SDK partition key hash computation against baselines.
+
+Uses the production code path (PartitionKey._write_for_hashing /
+_write_for_hashing_v2) which includes the string suffix byte (0x00 for V1,
+0xFF for V2), then feeds the serialised bytes into MurmurHash3.
+
+Baseline XML files live in tests/test_data/partition_key_hash_baseline/.
+To regenerate them after intentional changes to the hashing logic, run::
+
+ UPDATE_BASELINE=1 python -m pytest tests/test_partition_key_hash_baseline.py
+"""
+
+import json
+import os
+import struct
+from io import BytesIO
+from xml.etree import ElementTree
+from xml.dom import minidom
+
+import pytest
+
+from azure.cosmos._cosmos_integers import _UInt128
+from azure.cosmos._cosmos_murmurhash3 import murmurhash3_128, murmurhash3_32
+from azure.cosmos.partition_key import PartitionKey, _Undefined
+
+TEST_DATA_DIR = os.path.join(
+ os.path.dirname(__file__), "test_data", "partition_key_hash_baseline"
+)
+
+# .NET double.NaN has bit pattern 0xFFF8000000000000 (negative quiet NaN),
+# while Python float('nan') uses 0x7FF8000000000000 (positive quiet NaN).
+_DOTNET_NAN = struct.unpack('