diff --git a/ee/app/assets/javascripts/vulnerabilities/components/generic_report/report_row.vue b/ee/app/assets/javascripts/vulnerabilities/components/generic_report/report_row.vue
deleted file mode 100644
index 91f3af8298ae19f77634d25d60ebe448b49aa9ec..0000000000000000000000000000000000000000
--- a/ee/app/assets/javascripts/vulnerabilities/components/generic_report/report_row.vue
+++ /dev/null
@@ -1,20 +0,0 @@
-<script>
-export default {
-  props: {
-    label: {
-      type: String,
-      required: true,
-    },
-  },
-};
-</script>
-<template>
-  <div
-    class="generic-report-row gl-display-grid gl-px-3 gl-py-5 gl-border-b-1 gl-border-b-solid gl-border-gray-100"
-  >
-    <strong>{{ label }}</strong>
-    <div data-testid="reportContent">
-      <slot></slot>
-    </div>
-  </div>
-</template>
diff --git a/ee/app/assets/javascripts/vulnerabilities/components/generic_report/report_section.vue b/ee/app/assets/javascripts/vulnerabilities/components/generic_report/report_section.vue
index dfcf3874cb8c133a5b67a12e232f404bc41af9d6..ef54f04a1b30125ef4c4e8b8de89947debeb2d68 100644
--- a/ee/app/assets/javascripts/vulnerabilities/components/generic_report/report_section.vue
+++ b/ee/app/assets/javascripts/vulnerabilities/components/generic_report/report_section.vue
@@ -2,7 +2,6 @@
 import { GlCollapse, GlIcon } from '@gitlab/ui';
 import { s__ } from '~/locale';
 import ReportItem from './report_item.vue';
-import ReportRow from './report_row.vue';
 import { filterTypesAndLimitListDepth } from './types/utils';
 
 const NESTED_LISTS_MAX_DEPTH = 4;
@@ -15,7 +14,6 @@ export default {
     GlCollapse,
     GlIcon,
     ReportItem,
-    ReportRow,
   },
   props: {
     details: {
@@ -57,11 +55,14 @@ export default {
       </h3>
     </header>
     <gl-collapse :visible="showSection">
-      <div data-testid="reports">
+      <div class="generic-report-container" data-testid="reports">
         <template v-for="[label, item] in detailsEntries">
-          <report-row :key="label" :label="item.name" :data-testid="`report-row-${label}`">
-            <report-item :item="item" />
-          </report-row>
+          <div :key="label" class="generic-report-row" :data-testid="`report-row-${label}`">
+            <strong class="generic-report-column">{{ item.name }}</strong>
+            <div class="generic-report-column" data-testid="reportContent">
+              <report-item :item="item" :data-testid="`report-item-${label}`" />
+            </div>
+          </div>
         </template>
       </div>
     </gl-collapse>
diff --git a/ee/app/assets/stylesheets/page_bundles/security_dashboard.scss b/ee/app/assets/stylesheets/page_bundles/security_dashboard.scss
index ab4e9e33e03626c039de5ad7b2aca9c6c3b3340b..1b7ffa12db0dd4685bc6505a37eea6a3c1f86af2 100644
--- a/ee/app/assets/stylesheets/page_bundles/security_dashboard.scss
+++ b/ee/app/assets/stylesheets/page_bundles/security_dashboard.scss
@@ -120,15 +120,32 @@ $selection-summary-with-error-height: 118px;
   }
 }
 
+.generic-report-container {
+  @include gl-display-grid;
+
+  grid-template-columns: max-content auto;
+}
+
 .generic-report-row {
-  grid-template-columns: minmax(150px, 1fr) 3fr;
-  grid-column-gap: $gl-spacing-scale-5;
+  display: contents;
 
-  &:last-child {
+  &:last-child .generic-report-column {
     @include gl-border-b-0;
   }
 }
 
+.generic-report-column {
+  @include gl-px-3;
+  @include gl-py-5;
+  @include gl-border-b-1;
+  @include gl-border-b-solid;
+  @include gl-border-gray-100;
+
+  &:first-child {
+    max-width: 15rem;
+  }
+}
+
 .generic-report-list {
   li {
     @include gl-ml-0;
@@ -140,4 +157,3 @@ $selection-summary-with-error-height: 118px;
     list-style-type: disc;
   }
 }
-
diff --git a/ee/changelogs/unreleased/dpisek-generic-reports-grid-cleanup.yml b/ee/changelogs/unreleased/dpisek-generic-reports-grid-cleanup.yml
new file mode 100644
index 0000000000000000000000000000000000000000..814c535b49afb0fcc459eb720e40b105257837e4
--- /dev/null
+++ b/ee/changelogs/unreleased/dpisek-generic-reports-grid-cleanup.yml
@@ -0,0 +1,5 @@
+---
+title: 'Generic vulnerability reports: Remove extra margin between report columns'
+merge_request: 58720
+author:
+type: other
diff --git a/ee/spec/frontend/vulnerabilities/generic_report/report_row_spec.js b/ee/spec/frontend/vulnerabilities/generic_report/report_row_spec.js
deleted file mode 100644
index df25d8ed3aea5d3816359e142906c8f32c16095d..0000000000000000000000000000000000000000
--- a/ee/spec/frontend/vulnerabilities/generic_report/report_row_spec.js
+++ /dev/null
@@ -1,24 +0,0 @@
-import { shallowMount } from '@vue/test-utils';
-import ReportRow from 'ee/vulnerabilities/components/generic_report/report_row.vue';
-import { extendedWrapper } from 'helpers/vue_test_utils_helper';
-
-describe('ee/vulnerabilities/components/generic_report/report_row.vue', () => {
-  let wrapper;
-
-  const createWrapper = ({ ...options } = {}) =>
-    extendedWrapper(
-      shallowMount(ReportRow, {
-        propsData: {
-          label: 'Foo',
-        },
-        ...options,
-      }),
-    );
-
-  it('renders the default slot', () => {
-    const slotContent = 'foo bar';
-    wrapper = createWrapper({ slots: { default: slotContent } });
-
-    expect(wrapper.findByTestId('reportContent').text()).toBe(slotContent);
-  });
-});
diff --git a/ee/spec/frontend/vulnerabilities/generic_report/report_section_spec.js b/ee/spec/frontend/vulnerabilities/generic_report/report_section_spec.js
index db65b2d2b05fe4fd4880921835a668b9976681ff..9f4702f007c096a8004f2e5deec505892d337843 100644
--- a/ee/spec/frontend/vulnerabilities/generic_report/report_section_spec.js
+++ b/ee/spec/frontend/vulnerabilities/generic_report/report_section_spec.js
@@ -1,8 +1,6 @@
 import { within, fireEvent } from '@testing-library/dom';
 import { mount } from '@vue/test-utils';
 import { nextTick } from 'vue';
-import ReportItem from 'ee/vulnerabilities/components/generic_report/report_item.vue';
-import ReportRow from 'ee/vulnerabilities/components/generic_report/report_row.vue';
 import ReportSection from 'ee/vulnerabilities/components/generic_report/report_section.vue';
 import { REPORT_TYPE_URL } from 'ee/vulnerabilities/components/generic_report/types/constants';
 import { extendedWrapper } from 'helpers/vue_test_utils_helper';
@@ -47,9 +45,9 @@ describe('ee/vulnerabilities/components/generic_report/report_section.vue', () =
       name: /evidence/i,
     });
   const findReportsSection = () => wrapper.findByTestId('reports');
-  const findAllReportRows = () => wrapper.findAllComponents(ReportRow);
+  const findAllReportRows = () => wrapper.findAll('[data-testid*="report-row"]');
   const findReportRowByLabel = (label) => wrapper.findByTestId(`report-row-${label}`);
-  const findItemWithinRow = (row) => row.findComponent(ReportItem);
+  const findReportItemByLabel = (label) => wrapper.findByTestId(`report-item-${label}`);
   const supportedReportTypesLabels = Object.keys(TEST_DATA.supportedTypes);
 
   describe('with supported report types', () => {
@@ -77,20 +75,21 @@ describe('ee/vulnerabilities/components/generic_report/report_section.vue', () =
         expect(findAllReportRows()).toHaveLength(supportedReportTypesLabels.length);
       });
 
-      it.each(supportedReportTypesLabels)('passes the correct props to report row: %s', (label) => {
-        expect(findReportRowByLabel(label).props()).toMatchObject({
-          label: TEST_DATA.supportedTypes[label].name,
-        });
-      });
+      it.each(supportedReportTypesLabels)(
+        'renders the correct label for report row: %s',
+        (label) => {
+          expect(within(findReportRowByLabel(label).element).getByText(label)).toBeInstanceOf(
+            HTMLElement,
+          );
+        },
+      );
     });
 
     describe('report items', () => {
       it.each(supportedReportTypesLabels)(
         'passes the correct props to item for row: %s',
         (label) => {
-          const row = findReportRowByLabel(label);
-
-          expect(findItemWithinRow(row).props()).toMatchObject({
+          expect(findReportItemByLabel(label).props()).toMatchObject({
             item: TEST_DATA.supportedTypes[label],
           });
         },