Index: wp-admin/admin-ajax.php
===================================================================
--- wp-admin/admin-ajax.php	(revision 35257)
+++ wp-admin/admin-ajax.php	(working copy)
@@ -56,7 +56,7 @@
 	'hidden-columns', 'update-welcome-panel', 'menu-get-metabox', 'wp-link-ajax',
 	'menu-locations-save', 'menu-quick-search', 'meta-box-order', 'get-permalink',
 	'sample-permalink', 'inline-save', 'inline-save-tax', 'find_posts', 'widgets-order',
-	'save-widget', 'set-post-thumbnail', 'date_format', 'time_format',
+	'save-widget', 'delete-inactive-widgets', 'set-post-thumbnail', 'date_format', 'time_format',
 	'wp-remove-post-lock', 'dismiss-wp-pointer', 'upload-attachment', 'get-attachment',
 	'query-attachments', 'save-attachment', 'save-attachment-compat', 'send-link-to-editor',
 	'send-attachment-to-editor', 'save-attachment-order', 'heartbeat', 'get-revision-diffs',
Index: wp-admin/css/widgets.css
===================================================================
--- wp-admin/css/widgets.css	(revision 35257)
+++ wp-admin/css/widgets.css	(working copy)
@@ -272,7 +272,8 @@
 	margin-bottom: 0;
 }
 
-.sidebar-name .spinner {
+.sidebar-name .spinner,
+.remove-inactive-widgets .spinner {
 	float: none;
 	position: relative;
 	top: -2px;
@@ -348,6 +349,7 @@
 
 .js .widgets-holder-wrap.closed .widget,
 .js .widgets-holder-wrap.closed .sidebar-description,
+.js .widgets-holder-wrap.closed .remove-inactive-widgets,
 .js .closed br.clear {
 	display: none;
 }
Index: wp-admin/includes/ajax-actions.php
===================================================================
--- wp-admin/includes/ajax-actions.php	(revision 35257)
+++ wp-admin/includes/ajax-actions.php	(working copy)
@@ -1934,6 +1934,41 @@
 }
 
 /**
+ * Ajax handler for removing inactive widgets.
+ *
+ * @since 4.4.0
+ */
+function wp_ajax_delete_inactive_widgets() {
+	check_ajax_referer( 'remove-inactive-widgets', 'removeinactivewidgets' );
+
+	if ( ! current_user_can( 'edit_theme_options' ) ) {
+		wp_die( -1 );
+	}
+
+	unset( $_POST['removeinactivewidgets'], $_POST['action'] );
+
+	do_action( 'load-widgets.php' );
+	do_action( 'widgets.php' );
+	do_action( 'sidebar_admin_setup' );
+
+	$sidebars_widgets = wp_get_sidebars_widgets();
+
+	foreach ( $sidebars_widgets['wp_inactive_widgets'] as $key => $widget_id ) {
+		$pieces = explode( '-', $widget_id );
+		$multi_number = array_pop( $pieces );
+		$id_base = implode( '-', $pieces );
+		$widget = get_option( 'widget_' . $id_base );
+		unset( $widget[$multi_number] );
+		update_option( 'widget_' . $id_base, $widget );
+		unset( $sidebars_widgets['wp_inactive_widgets'][$key] );
+	}
+
+	wp_set_sidebars_widgets( $sidebars_widgets );
+
+	wp_die();
+}
+
+/**
  * Ajax handler for uploading attachments
  *
  * @since 3.3.0
Index: wp-admin/js/widgets.js
===================================================================
--- wp-admin/js/widgets.js	(revision 35257)
+++ wp-admin/js/widgets.js	(working copy)
@@ -80,6 +80,9 @@
 				widget.removeClass( 'open' );
 				wpWidgets.close( widget );
 				e.preventDefault();
+			} else if ( target.attr( 'id' ) === 'inactive-widgets-control-remove' ) {
+				wpWidgets.removeInactiveWidgets();
+				e.preventDefault();
 			}
 		});
 
@@ -387,6 +390,7 @@
 		});
 
 		$.post( ajaxurl, data, function() {
+			$( '#inactive-widgets-control-remove' ).prop( 'disabled' , ! $( '#wp_inactive_widgets .widget' ).length );
 			$( '.spinner' ).removeClass( 'is-active' );
 		});
 	},
@@ -431,6 +435,10 @@
 					});
 				} else {
 					widget.remove();
+
+					if (sidebarId === 'wp_inactive_widgets') {
+						$( '#inactive-widgets-control-remove' ).prop( 'disabled' , ! $( '#wp_inactive_widgets .widget' ).length );
+					}
 				}
 			} else {
 				$( '.spinner' ).removeClass( 'is-active' );
@@ -438,14 +446,38 @@
 					$( 'div.widget-content', widget ).html( r );
 					wpWidgets.appendTitle( widget );
 					$document.trigger( 'widget-updated', [ widget ] );
+
+					if (sidebarId === 'wp_inactive_widgets') {
+						$( '#inactive-widgets-control-remove' ).prop( 'disabled' , ! $( '#wp_inactive_widgets .widget' ).length );
+					}
 				}
 			}
+
 			if ( order ) {
 				wpWidgets.saveOrder();
 			}
 		});
 	},
 
+	removeInactiveWidgets : function() {
+		var $element = $( '.remove-inactive-widgets' ), a, data;
+
+		$( '.spinner', $element ).addClass( 'is-active' );
+
+		a = {
+			action : 'delete-inactive-widgets',
+			removeinactivewidgets : $( '#_wpnonce_remove_inactive_widgets' ).val()
+		};
+
+		data = $.param( a );
+
+		$.post( ajaxurl, data, function() {
+			$( '#wp_inactive_widgets .widget' ).remove();
+			$( '#inactive-widgets-control-remove' ).prop( 'disabled' , true );
+			$( '.spinner', $element ).removeClass( 'is-active' );
+		} );
+	},
+
 	appendTitle : function(widget) {
 		var title = $('input[id*="-title"]', widget).val() || '';
 
Index: wp-admin/widgets.php
===================================================================
--- wp-admin/widgets.php	(revision 35257)
+++ wp-admin/widgets.php	(working copy)
@@ -194,6 +194,28 @@
 	exit;
 }
 
+// Remove inactive widgets without js
+if ( isset( $_POST['removeinactivewidgets'] ) ) {
+	check_admin_referer( 'remove-inactive-widgets', '_wpnonce_remove_inactive_widgets' );
+
+	if ( $_POST['removeinactivewidgets'] ) {
+		foreach ( $sidebars_widgets['wp_inactive_widgets'] as $key => $widget_id ) {
+			$pieces = explode( '-', $widget_id );
+			$multi_number = array_pop( $pieces );
+			$id_base = implode( '-', $pieces );
+			$widget = get_option( 'widget_' . $id_base );
+			unset( $widget[$multi_number] );
+			update_option( 'widget_' . $id_base, $widget );
+			unset( $sidebars_widgets['wp_inactive_widgets'][$key] );
+		}
+
+		wp_set_sidebars_widgets( $sidebars_widgets );
+	}
+
+	wp_redirect( admin_url( 'widgets.php?message=0' ) );
+	exit;
+}
+
 // Output the widget form without js
 if ( isset($_GET['editwidget']) && $_GET['editwidget'] ) {
 	$widget_id = $_GET['editwidget'];
@@ -388,8 +410,25 @@
 		<div class="<?php echo esc_attr( $wrap_class ); ?>">
 			<div class="widget-holder inactive">
 				<?php wp_list_widget_controls( $registered_sidebar['id'], $registered_sidebar['name'] ); ?>
-				<div class="clear"></div>
+				<div class="remove-inactive-widgets">
+					<form action="" method="post">
+						<p>
+							<?php
+							$attributes = array( 'id' => 'inactive-widgets-control-remove' );
+
+							if ( empty($sidebars_widgets['wp_inactive_widgets']) ) {
+								$attributes['disabled'] = '';
+							}
+
+							submit_button( __( 'Clear Inactive Widgets' ), 'delete', 'removeinactivewidgets', false, $attributes );
+							?>
+							<span class="spinner">
+						</p>
+						<?php wp_nonce_field( 'remove-inactive-widgets', '_wpnonce_remove_inactive_widgets' ); ?>
+					</form>
+				</div>
 			</div>
+			<p class="description"><?php _e( 'This will clear all items from the inactive widgets list. You will not be able to restore any customizations.' ); ?></p>
 		</div>
 		<?php
 
