I just bought a new car - a Honda Civic. I think I actually got a really good deal on it. I also think my background in economics helped me negotiate that deal.
A number of websites give tips - some good, some bad - on how to negotiate a car deal. Here's my take.
1. Before you step on a lot, get a lot of information on a lot of different cars. Information is extremely valuable to economic transactions. Know the price differences between different makes, trim levels, options, and other things. Here, I would say that adverse information about the cars you are considering (especially your first choice) is at least as valuable as the positive information.
2. Also before stepping on a lot, shop online. If you have access to a car buying service through a bank or credit union you have membership with, use it to get concrete quotes for dealers within an x-mile radius.
3. Get pre-approved for your loan so they can't get you to fill out a credit application before you have a price. This is mostly likely an attempt by the seller to increase the fixed cost of leaving.
4. Have an outside option and be flexible. A couple of fora on buying a car say to really zero in on what you really want before you start. I couldn't imagine worse advice. The only way to get a good deal is to induce competition. If you are too zeroed in on one model then you probably aren't recognizing the positive aspects of comparable cars, or the negative aspects of your first choice. Use these trade-offs in your negotiation, and be willing to walk away. One problem with walking away, though, is that there's a bit of a "secretary problem" here in the sense that if you negotiate hard, then decide to walk away, you may not be able to come back. This gives a dealer considerable monopoly power once negotiation starts: Advantage, seller.
5. Be respectful and honest.