One problem I had with Dave's method was that my custom fields (ie. iPhone rather than Mobile to signify the number type) were not synced properly, nor were my contact pictures.
I found the better option was to switch on Google contacts sync via iTunes and each time I sync iPhone the contacts also sync. Only downside to this is that you don't get instant updates but iOS 5 syncs over WiFi so don't think this will be a problem for you.
Another issue with Google sync is that it doesn't sync your drafts folder properly. No problem - I just switched back to IMAP. It was nice getting emails pushed to my phone though.
I do use it for Calendar syncing though, and it is great.
Edit: Just found a page with known issues which explains more -
http://www.google.com/support/mobile...&answer=139635. Also don't worry that the Google Sync method doesn't work - you can do each thing manually as I said above.