This is pretty straightforward. Just do it so Google always finds what it's looking for, and there won't be any confusion.
1. Keep the old server running.
2. Copy ALL content onto the new server. Test that it works. Retest. You may need to use the DNS codes, as web address won't be working yet for new server. That is, test at 123.123.456.456/index.html (the example NEW server DNS) as www.widgets.com/index.html is still pointed at the old server.
3. Keep the old server running.
4. Tell your domain name registrar to change the sites DNS codes from OLD to NEW. (pointed to the new server)
5. Keep the old server running.
6. Test that the new server is working well. Over the next 1-3 days visitors will be directed to the new server, but some will still be sent to the old server. We want Googlebot to get the content one place OR the other, so:
7. Keep the old server running.
8. After a week, if all works well on the new server, and you've confirmed that when you type in your www address it resolves to the new server for certain, then you can let the old server die.
Why did we keep both servers running for a while:
A) For several days, certain visitors could be sent to either server, so this makes sure they see your site.
B) Sometimes there is an unexpected disaster at the new server. Now you can just change the DNS back to the old, and it will work.