This is something that Linux is especially good at...it's against Microsoft's business model to include remote login with their stuff, so people end up using crap like "gotomypc" or whatever they call it now.
Ranting aside, the traditional solution would be ssh. With it, you can run individual applications seamlessly on different machines. However, it sounds like you want the entire desktop environment. The solution for this is under System > Preferences > Remote Desktop (on the desktop computer). You'll want to check "Allow other users to view your desktop" and "Allow other users to control your desktop". The yellow box will then tell you whether you can get to the computer from the entire internet or just your local network. You'll also want to uncheck "You must confirm each access to this machine" and check "Require the user to enter this password:" (along with putting in a password) and "Configure network automatically to accept connections". That should about do it for the desktop.
With the laptop, connect to the address mentioned in the yellow box. It should be your local address (usually starts with "192.168" or "10.0") if you're on the lan or your external address (you can see it here: http://support.easydns.com/utils/get_ip.php) if you're connecting across the internet and you've set up port forwarding on your router (I can help with this if you need it). You'll want to go to "Applications > Internet > Remote Desktop Viewer", click connect, switch the dropdown box at the top to "VNC", and put the address from the yellow box in the address entry field. Then tell it to connect and enter the password you put in when you were setting up the desktop. That should be it...