Techniques are provided for data-driven virtual machine restoration. In an example, a VM crashes and is to be restored. There can be multiple restoration paths that can be used to recover the VM (e.g., various source locations where a recovery image is stored, various recovery images, and various target locations where a VM can be restored to). A trained prediction model can analyze these various restoration paths and predict which restoration path will have a quickest time to recovery, to minimize a time that the VM is unavailable.