Remember to save your SHSH Blobs by following this tutorial before continuing.
If you want to jailbreak a lower firmware version you can find the appropriate tutorial here.
Create a folder on your desktop called Pwnage
Download the latest version of RedSn0w from here and place it in the Pwnage folder. Likewise, download the 5.1.1 firmware from here and place it in the Pwnage folder. (Note: you do not need to download the 5.1.1 firmware if you are already on iOS 5.1.1)
Extract the RedSn0w zip file by double clicking it.
Step Two: (Skip this step if you're on iOS 5.1.1 already)
Connect your iPhone to the computer and launch iTunes.
Select your iPhone from the list of devices on the left. Now hold down Shift and click the Restore button. Restore is preferred as it won't create any wasted space on your iPhone.
Navigate to the Pwnage folder on your desktop and select the 5.1.1 firmware ipsw. Click the Choose button to continue.
iTunes will now update your iPhone to the new firmware.
Launch the redsn0w application from the redsn0w folder by right clicking it and choosing Run as Administrator.
Once RedSn0w opens click the Jailbreak button
You may be asked to choose between the DRU ramdisk method or the backup/restore method. Click Yes to use the DFU ramdisk method.
If asked, tell RedSn0w whether you have a new model or older model of the iPhone 3GS.
Plug your iPhone into the computer and make sure its OFF then click the Next button
RedSn0w will now guide you through the steps to get into DFU mode. You can find more help with DFU mode here
Hold down both the Home button and the Power button for 10 seconds.
Release the Power button and continue holding the Home button until RedSn0w detects the device.
Your iPhone will now reboot
RedSn0w will prepare the jailbreak data.
Select Cydia from the list of options and click Next.
**IMPORTANT: If you want to upgrade to the iPad baseband then downgrade to 05.13 for unlock check Install iPad Baseband. YOU CAN ONLY DO THIS IF DIGITS 3-5 of your device's serial number are less than 134.
Your iPhone will now be rebooted again and RedSn0w will begin uploading the new RAM Disk and Kernel.
Once this is complete you will be notified that RedSn0w is done. When your iPhone finishes rebooting (5 minutes or so) it will be jailbroken with Cydia on the SpringBoard.
*As usual a big thanks to the iPhone Dev-Team and Geohot for their hard work and contribution to the iPhone community.