I replaced the ball joints recently due to torn rubber boot and thought I'll post the method I used. Its very straight forward and doesn't need much tools. I'm pretty sure most ppl here have done this but for those who haven't this might be a guide and you'll save $$$ if you do it your self!!.
1. Jack the car up (which ever the side you are going to replace) and secure using jack stands. Never trust a hydraulic jack it can fail without a warning and it has happened to me once!
2. remove the wheel
3. Remove the nut on the top side of the arm as shown in pic (17mm socket), expect this to be very tight!
4. Remove the nut on the bottom side as shown in pic (17mm socket), again this will be very tight.
5. remove the nut and pull the bolt out completely to release the pin of the ball joint. Tap it lightly or pry open using a screwdriver if it doesn't fall off easily.
After removing the ball joint
The new part
Comparison (there was sand, water, dirt etc mixed with grease inside the damaged boot and it was making a noise when cornering/breaking)
6. Place the new ball joint (installation is reverse order of removal).
You may need to use the jack to lift the lower arm up to assist with alignment.(if you don't have an assistant to help)
All done!!
Repeat this process for other side as well!
Good luck!