Log into Google Calendar: http://www.google.com/calendar
Click the down arrow next to the name of the calendar you would like to sync. You can find your calendar names on the left hand side of the screen.
Select Share this calendar from the popup menu that appears.
Select the Calendar Details tab from the page that appears.
Under the Calendar Details tab go to the Private Address section and click the iCal button.
A grey box will appear on the screen with your private iCal address. Copy this address to the clipboard by highlighting it and pressing Command-c on the keyboard.
Open iCal by clicking the iCal icon on the dock
From the Calendar Menu select Subscribe...
A popup will appear asking you to enter the calendar url. Press Command-v on the keyboard to paste the address you copied into the window. Now press Subscribe to continue.
A window will popup asking you to confirm the name of the calendar. Enter a description and select whether you would like to remove alarms, attachments or to do items.
Finally select a time interval from the Auto-refresh Dropdown for iCal to refresh your Google Calendar. For example if you select 5 minutes iCal will autorefresh you Google Calendar every 5 minutes.
Press Ok to close the window.
iCal will now download your events from Google Calendar and display them if you select your Google Calendar from the list of calendars on the left of the iCal window.