Alternative answer - using routes
You can remove the default route via your real Internet connection and add a route only to the VPN server. This is simpler than Windows Firewall in a way, but there is a catch: Windows will re-add the default route whenever it connects to a network. You can get around that using Task Scheduler to make your changes whenever it connects.
A nice bonus is that you can also automatically connect to the VPN whenever you connect to a network, providing you've got the username and password saved.
First create a batch file like this:
REM IP address of the real gateway you use to connect to the Internet
REM (External) IP address of the VPN server
REM Delete default route via the real gateway
route delete 0.0.0.0 %REAL_GATEWAY_IP%
REM Add a route to the VPN server via the real gateway
route add %VPN_SERVER_IP% mask 255.255.255.255 %REAL_GATEWAY_IP% metric 1
REM To connect to the VPN (optional):
rasphone -d "My VPN connection name"
Then add a scheduled task in Task Scheduler to run the batch file with the trigger configured like this:
You may also want to uncheck "Start the task only if the computer is on AC power" on the Conditions tab and select "Run whether user is logged on or not" on the General tab.
The routes should then be updated whenever you connect to a network and you can verify them by running
route print - there should be no route to 0.0.0.0 via the real gateway.