diff --git a/src/Illuminate/Collections/Collection.php b/src/Illuminate/Collections/Collection.php
index 95faa17a7121..cccbf2e3efd8 100644
--- a/src/Illuminate/Collections/Collection.php
+++ b/src/Illuminate/Collections/Collection.php
@@ -516,9 +516,11 @@ public function groupBy($groupBy, $preserveKeys = false)
         foreach ($this->items as $key => $value) {
             $groupKeys = $groupBy($value, $key);
 
-            if (! is_array($groupKeys)) {
-                $groupKeys = [$groupKeys];
-            }
+            $groupKeys = match (true) {
+                ! is_array($groupKeys) => [$groupKeys],
+                is_array($groupKeys) && empty($groupKeys) => [null],
+                default => $groupKeys,
+            };
 
             foreach ($groupKeys as $groupKey) {
                 $groupKey = match (true) {
diff --git a/tests/Support/SupportCollectionTest.php b/tests/Support/SupportCollectionTest.php
index 513e1fa4187a..19ab7e02338b 100755
--- a/tests/Support/SupportCollectionTest.php
+++ b/tests/Support/SupportCollectionTest.php
@@ -3457,6 +3457,32 @@ function ($item) {
         $this->assertEquals($expected_result, $result->toArray());
     }
 
+    #[DataProvider('collectionClassProvider')]
+    public function testGroupWithEmptyValue($collection)
+    {
+        $data = new $collection([
+            10 => [],
+            20 => ['user' => 2, 'roles' => []],
+            30 => ['user' => 3, 'roles' => [null]],
+            40 => ['user' => 4, 'roles' => ['Role_2']],
+        ]);
+
+        $result = $data->groupBy('roles', true);
+
+        $expected_result = [
+            '' => [
+                10 => [],
+                20 => ['user' => 2, 'roles' => []],
+                30 => ['user' => 3, 'roles' => [null]],
+            ],
+            'Role_2' => [
+                40 => ['user' => 4, 'roles' => ['Role_2']],
+            ],
+        ];
+
+        $this->assertEquals($expected_result, $result->toArray());
+    }
+
     #[DataProvider('collectionClassProvider')]
     public function testKeyByAttribute($collection)
     {