Without further details of your setup, here are two routes of possible solution:
1.) Manually set the NIC/network adapter metric(s):
The usual suggestion for adjusting network adapter ordering/preference/metrics is adjusting the order of adapters in "Advanced Settings" of the network adapters control panel (in Windows). In this box, one can move respective adapters up or down the list, parallel with the equivalent ordering of adapter preference.
However, there are other system variables and factors that come into play with the network metric of a device --
Manually set the network metrics. In the network adapters' properties and protocol configuration, under "Advanced", there's an option called "Automatic metric". Find this property for the devices you wish to be non-primary, uncheck "Automatic metric", and then manually set the metric, adding +1000 to the metric box. Restart the adapters/network stack, and then see if the problem persists.
2.) Managing VMware's network configuration
In VMware (VMware Workstation), there's a submenu of network configuration called "Virtual Network Editor". It's accessed through the "Edit" menu on the toolbar.
Inside that configuration window, select the appropriate VMnet# that you're needing to adjust, and then set the specifics of that VMnet adapter in the panel below (e.g., bridged vs. NAT, automatic settings, etc.), according to the manual metrics you've appropriately set on other respective adapters (virtual and physical) in your system.
My best hunch is that this issue is a matter of automatic metrics being set. There are many different variables that come into play with these metrics, and you'd be best served by at least initially setting the individual metrics manually to narrow out any automatic-configuration tomfoolery.
Now that I think about it, a tool that lists the current network adapter metrics "live", along with showing who/what is sourcing a particular adapter metric change, would be most helpful, indeed! I'm not sure if a tool like this presently exists.