Preventing form resubmission on contact form plugin

You can setup a wp_nonce_field to act as a single use token. You can then wp_verify_nonce to make sure the action requested matches the token.

A more ideal way is to just use an AJAX solution and submit + respond using javascript. That will allow you to stay on the page and show/hide elements required without needing the server to re-render the page.