diff --git a/core/lib/Drupal/Core/Entity/EntityAutocompleteMatcher.php b/core/lib/Drupal/Core/Entity/EntityAutocompleteMatcher.php
index 55372f9..3fa92cd 100644
--- a/core/lib/Drupal/Core/Entity/EntityAutocompleteMatcher.php
+++ b/core/lib/Drupal/Core/Entity/EntityAutocompleteMatcher.php
@@ -62,7 +62,8 @@ public function getMatches($target_type, $selection_handler, $selection_settings
     if (isset($string)) {
       // Get an array of matching entities.
       $match_operator = !empty($selection_settings['match_operator']) ? $selection_settings['match_operator'] : 'CONTAINS';
-      $entity_labels = $handler->getReferenceableEntities($string, $match_operator, 10);
+      $match_size = !empty($selection_settings['match_size']) ? $selection_settings['match_size'] : 10;
+      $entity_labels = $handler->getReferenceableEntities($string, $match_operator, $match_size);
 
       // Loop through the entities and convert them into autocomplete output.
       foreach ($entity_labels as $values) {
diff --git a/core/lib/Drupal/Core/Field/Plugin/Field/FieldWidget/EntityReferenceAutocompleteWidget.php b/core/lib/Drupal/Core/Field/Plugin/Field/FieldWidget/EntityReferenceAutocompleteWidget.php
index 11f048e..89763d6 100644
--- a/core/lib/Drupal/Core/Field/Plugin/Field/FieldWidget/EntityReferenceAutocompleteWidget.php
+++ b/core/lib/Drupal/Core/Field/Plugin/Field/FieldWidget/EntityReferenceAutocompleteWidget.php
@@ -28,6 +28,7 @@ class EntityReferenceAutocompleteWidget extends WidgetBase {
   public static function defaultSettings() {
     return [
       'match_operator' => 'CONTAINS',
+      'match_size' => 10,
       'size' => '60',
       'placeholder' => '',
     ] + parent::defaultSettings();
@@ -44,6 +45,13 @@ public function settingsForm(array $form, FormStateInterface $form_state) {
       '#options' => $this->getMatchOperatorOptions(),
       '#description' => t('Select the method used to collect autocomplete suggestions. Note that <em>Contains</em> can cause performance issues on sites with thousands of entities.'),
     ];
+    $element['match_size'] = [
+      '#type' => 'number',
+      '#title' => t('Number of results'),
+      '#default_value' => $this->getSetting('match_size'),
+      '#min' => 0,
+      '#description' => t('The number of suggestions that will be listed. Use <em>0</em> to remove the limit.'),
+    ];
     $element['size'] = [
       '#type' => 'number',
       '#title' => t('Size of textfield'),
@@ -68,6 +76,7 @@ public function settingsSummary() {
 
     $operators = $this->getMatchOperatorOptions();
     $summary[] = t('Autocomplete matching: @match_operator', ['@match_operator' => $operators[$this->getSetting('match_operator')]]);
+    $summary[] = t('Autocomplete suggestion list size: @size', ['@size' => $this->getSetting('match_size')]);
     $summary[] = t('Textfield size: @size', ['@size' => $this->getSetting('size')]);
     $placeholder = $this->getSetting('placeholder');
     if (!empty($placeholder)) {
@@ -88,7 +97,10 @@ public function formElement(FieldItemListInterface $items, $delta, array $elemen
     $referenced_entities = $items->referencedEntities();
 
     // Append the match operation to the selection settings.
-    $selection_settings = $this->getFieldSetting('handler_settings') + ['match_operator' => $this->getSetting('match_operator')];
+    $selection_settings = $this->getFieldSetting('handler_settings') + [
+      'match_operator' => $this->getSetting('match_operator'),
+      'match_size' => $this->getSetting('match_size'),
+    ];
 
     $element += [
       '#type' => 'entity_autocomplete',
diff --git a/core/tests/Drupal/FunctionalJavascriptTests/EntityReference/EntityReferenceAutocompleteWidgetTest.php b/core/tests/Drupal/FunctionalJavascriptTests/EntityReference/EntityReferenceAutocompleteWidgetTest.php
index 511dee6..ed1204e 100644
--- a/core/tests/Drupal/FunctionalJavascriptTests/EntityReference/EntityReferenceAutocompleteWidgetTest.php
+++ b/core/tests/Drupal/FunctionalJavascriptTests/EntityReference/EntityReferenceAutocompleteWidgetTest.php
@@ -97,6 +97,31 @@ public function testEntityReferenceAutocompleteWidget() {
     $this->assertCount(1, $results);
     $assert_session->pageTextContains('Test page');
     $assert_session->pageTextNotContains('Page test');
+
+    // Change the size of the result set.
+    entity_get_form_display('node', 'page', 'default')
+      ->setComponent($field_name, [
+        'type' => 'entity_reference_autocomplete',
+        'settings' => [
+          'match_operator' => 'CONTAINS',
+          'match_size' => 1,
+        ],
+      ])
+      ->save();
+
+    $this->drupalGet('node/add/page');
+    $page = $this->getSession()->getPage();
+
+    $autocomplete_field = $page->findField($field_name . '[0][target_id]');
+    $autocomplete_field->setValue('Test');
+    $this->getSession()->getDriver()->keyDown($autocomplete_field->getXpath(), ' ');
+    $assert_session->waitOnAutocomplete();
+
+    $results = $page->findAll('css', '.ui-autocomplete li');
+
+    $this->assertCount(1, $results);
+    $assert_session->pageTextContains('Test page');
+    $assert_session->pageTextNotContains('Page test');
   }
 
 }
